Skip to main content

CreateProjectVersionDto

@lowcode/api


Class: CreateProjectVersionDto

Defined in: apps/api/src/modules/project-versions/dto/create-project-version.dto.ts:19

DTO для создания новой версии проекта.

Используется эндпоинтом: POST /projects/:id/versions

Данный DTO принимает сырую DSL-схему приложения (AppSchema), которая может быть:

  • полной и валидной (как после успешной компиляции),
  • частично валидной (в процессе редактирования),
  • или вовсе сломанной (черновик).

Это сделано намеренно — проектные версии должны сохраняться в любых состояниях, включая промежуточные и автосохранения.

Constructors

Constructor

new CreateProjectVersionDto(): CreateProjectVersionDto

Returns

CreateProjectVersionDto

Properties

app

app: AppSchema

Defined in: apps/api/src/modules/project-versions/dto/create-project-version.dto.ts:34

Полная DSL-схема приложения (AppSchema), привязанная к конкретной версии проекта.

Валидация на стороне DTO НЕ проверяет структуру, она гарантирует лишь то, что это объект — всё остальное решается бизнес-логикой или пользователем в UI.

Примеры использования:

  • автосохранение каждые N секунд в редакторе;
  • создание новой версии перед компиляцией;
  • сохранение рабочей/ломающей правки.

label?

optional label: string

Defined in: apps/api/src/modules/project-versions/dto/create-project-version.dto.ts:50

Необязательная метка версии.

Показывается в UI рядом с номером версии, например:

  • "Autosave"
  • "Before refactor"
  • "Added new form"

Если не указана — сервис сам может назначить более общие названия для версий.