/
Masunium
/
forms-test-backend
Обзор
Документация
Войти
/
Masunium
/
forms-test-backend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/response/response.controller.ts
79 строк
2 KB
Masunium
added swagger documnetation
03 мар 2026, 07:34
03 мар 2026, 07:34
1cf132b
Код
Авторство
О чём код?
import { Body, Controller, Get, Param, Post } from '@nestjs/common'; import { ApiBadRequestResponse, ApiBearerAuth, ApiBody, ApiCreatedResponse, ApiForbiddenResponse, ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiParam, ApiTags, ApiUnauthorizedResponse, } from '@nestjs/swagger'; import { Authorization } from 'src/auth/decorators/authorization.decorator'; import { Authorized } from 'src/auth/decorators/authorized.decorator'; import { CreateFormResponseDto } from './dto/create-form-response.dto'; import { FormResponseService } from './response.service'; @ApiTags('Form response') @ApiBearerAuth() @Controller('form/:formId/response') export class FormResponseController { constructor(private readonly responseService: FormResponseService) { } @ApiOperation({ summary: 'Создание ответа на форму', description: 'Создает новый ответ на форму от имени авторизованного пользователя', }) @ApiBody({ type: CreateFormResponseDto }) @ApiCreatedResponse({ description: 'Ответ на форму успешно создан', }) @ApiBadRequestResponse({ description: 'Ошибка валидации или нарушение бизнес-логики', schema: { example: { statusCode: 400, message: 'Поле "Email" требует текст', error: 'Bad Request', }, }, }) @ApiUnauthorizedResponse({ description: 'Пользователь не авторизован', }) @ApiNotFoundResponse({ description: 'Форма не найдена', }) @Authorization() @Post() create( @Param('formId') formId: string, @Body() dto: CreateFormResponseDto, @Authorized('id') userId: string, ) { return this.responseService.create(formId, dto, userId); } @ApiOperation({ summary: 'Получение всех ответов по форме', description: 'Возвращает список всех ответов для указанной формы', }) @ApiOkResponse({ description: 'Список ответов успешно получен', }) @ApiUnauthorizedResponse({ description: 'Пользователь не авторизован', }) @ApiNotFoundResponse({ description: 'Форма не найдена', }) @Authorization() @Get() findAllByForm(@Param('formId') formId: string) { return this.responseService.findAllByForm(formId); } }