Skip to main content

ProjectVersionsController

@lowcode/api


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

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

CreateProjectVersionDto

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 в истории версий.