ProjectVersionsController
Class: ProjectVersionsController
Defined in: apps/api/src/modules/project-versions/project-versions.controller.ts:22
Контроллер управления версиями проектов.
Базовый маршрут:
/projects/:projectId/versions
Предоставляет операции:
- получить список версий проекта;
- получить конкретную версию по номеру;
- создать новую версию;
- откатить проект к существующей версии.
Важно: версии проекта — это полные снимки состояния DSL, позволяющие восстанавливать любую предыдущую точку.
Constructors
Constructor
new ProjectVersionsController(
projectVersionsService):ProjectVersionsController
Defined in: apps/api/src/modules/project-versions/project-versions.controller.ts:23
Parameters
projectVersionsService
Returns
ProjectVersionsController
Methods
create()
create(
projectId,dto):Promise<ProjectVersionEntity>
Defined in: apps/api/src/modules/project-versions/project-versions.controller.ts:80
Создать новую версию проекта.
Parameters
projectId
string
UUID проекта
dto
DSL-схема и необязательная метка версии
Returns
Promise<ProjectVersionEntity>
Созданная версия проекта
Route
POST /projects/:projectId/versions
Используется редактором (builder-web) для:
- сохранения рабочих изменений;
- автосохранений;
- создания "срезов" перед компиляцией;
- ручных версионных коммитов.
getByNumber()
getByNumber(
projectId,versionNumber):Promise<ProjectVersionEntity>
Defined in: apps/api/src/modules/project-versions/project-versions.controller.ts:57
Получить конкретную версию проекта по номеру.
Parameters
projectId
string
UUID проекта
versionNumber
number
номер версии
Returns
Promise<ProjectVersionEntity>
Сущность версии проекта
Route
GET /projects/:projectId/versions/:versionNumber
Номер версии (versionNumber) — это автоинкрементное число,
начиная с 1, соответствующее порядку сохранений.
list()
list(
projectId):Promise<ProjectVersionEntity[]>
Defined in: apps/api/src/modules/project-versions/project-versions.controller.ts:38
Получить список всех версий проекта.
Parameters
projectId
string
UUID проекта
Returns
Promise<ProjectVersionEntity[]>
Массив версий проекта
Route
GET /projects/:projectId/versions
Список сортируется по убыванию:
- новейшая версия первой,
- далее по номеру версии.
rollback()
rollback(
projectId,versionId):Promise<ProjectVersionEntity>
Defined in: apps/api/src/modules/project-versions/project-versions.controller.ts:104
Откатить проект к существующей версии.
Parameters
projectId
string
UUID проекта
versionId
string
UUID версии, на которую выполняется откат
Returns
Promise<ProjectVersionEntity>
Версия, на которую выполнен откат
Route
POST /projects/:projectId/versions/:versionId/rollback
Эта операция:
- обновляет
currentVersionIdпроекта; - НЕ создает новую версию,
- возвращает данные выбранной версии.
Используется для undo/restore в истории версий.