Skip to main content

ProjectsController

@lowcode/api


Class: ProjectsController

Defined in: apps/api/src/modules/projects/projects.controller.ts:25

Контроллер управления проектами.

Базовый маршрут: /projects

Предоставляет операции:

  • получить список проектов;
  • получить проект по ID;
  • создать новый проект;
  • обновить существующий проект;
  • удалить проект.

Constructors​

Constructor​

new ProjectsController(projectsService): ProjectsController

Defined in: apps/api/src/modules/projects/projects.controller.ts:26

Parameters​

projectsService​

ProjectsService

Returns​

ProjectsController

Methods​

create()​

create(user, dto): Promise<Project>

Defined in: apps/api/src/modules/projects/projects.controller.ts:75

Создать новый проект.

Parameters​

user​

RequestUser

dto​

CreateProjectDto

Данные для создания проекта

Returns​

Promise<Project>

Созданный проект

Route​

POST /projects

Тело запроса должно содержать:

{
"name": "My project",
"description": "Optional"
}

findAll()​

findAll(user): Promise<Project[]>

Defined in: apps/api/src/modules/projects/projects.controller.ts:38

Получить список всех проектов.

Parameters​

user​

RequestUser

Returns​

Promise<Project[]>

Список проектов в виде массива Project[]

Route​

GET /projects

Возвращает все видимые проекты (по умолчанию — все).


findOne()​

findOne(user, id): Promise<Project>

Defined in: apps/api/src/modules/projects/projects.controller.ts:53

Получить проект по его ID.

Parameters​

user​

RequestUser

id​

string

UUID проекта

Returns​

Promise<Project>

Сущность проекта

Route​

GET /projects/:id

Если проект не найден — выбрасывается NotFoundException.


remove()​

remove(user, id): Promise<void>

Defined in: apps/api/src/modules/projects/projects.controller.ts:111

Удалить проект.

Parameters​

user​

RequestUser

id​

string

UUID проекта

Returns​

Promise<void>

Route​

DELETE /projects/:id

Удаляет проект и все связанные с ним записи, если на уровне Prisma включен каскад или ручная логика.


update()​

update(user, id, dto): Promise<Project>

Defined in: apps/api/src/modules/projects/projects.controller.ts:92

Обновить существующий проект.

Parameters​

user​

RequestUser

id​

string

UUID проекта

dto​

UpdateProjectDto

Набор обновляемых полей

Returns​

Promise<Project>

Обновлённый проект

Route​

PATCH /projects/:id

Поддерживается частичное обновление (patch): можно передать только те поля, которые нужно изменить.