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): можно передать только те поля, которые нужно изменить.