@@ -15,9 +15,10 @@ import {
1515 NotFoundException ,
1616 Version ,
1717 HttpCode ,
18+ Query ,
1819} from '@nestjs/common' ;
1920import { FilesInterceptor } from '@nestjs/platform-express' ;
20- import { ApiTags , ApiOperation , ApiResponse , ApiBearerAuth , ApiConsumes , ApiBody } from '@nestjs/swagger' ;
21+ import { ApiTags , ApiOperation , ApiResponse , ApiBearerAuth , ApiConsumes , ApiBody , ApiQuery } from '@nestjs/swagger' ;
2122import { Response } from 'express' ;
2223import { OrganizationService } from './organization.service' ;
2324import { S3Service } from './s3.service' ;
@@ -70,11 +71,36 @@ export class OrganizationController {
7071 @Get ( )
7172 @UseGuards ( JwtAuthGuard )
7273 @ApiBearerAuth ( )
73- @ApiOperation ( { summary : 'Получить все организации1' } )
74+ @ApiOperation ( {
75+ summary : 'Получить все организации' ,
76+ description : 'Возвращает список организаций. Выводятся только не удалённые записи (record_status != "DELETED").'
77+ } )
78+ @ApiQuery ( {
79+ name : 'filteredByStatus' ,
80+ required : false ,
81+ type : Boolean ,
82+ description : 'Фильтр по статусу подтверждения организации (isApproved). ' +
83+ 'По умолчанию (если параметр не указан) выводятся все организации, кроме удалённых (подтверждённые и не подтверждённые). ' +
84+ 'Возможные значения:\n' +
85+ '- true: только подтверждённые организации (isApproved = true)\n' +
86+ '- false: только не подтверждённые организации (isApproved = false)' ,
87+ example : true ,
88+ enum : [ true , false ]
89+ } )
7490 @ApiResponse ( { status : 200 , description : 'Список организаций' } )
7591 @ApiResponse ( { status : 401 , description : 'Не авторизован' } )
76- findAll ( ) {
77- return this . organizationService . findAll ( ) ;
92+ findAll ( @Query ( 'filteredByStatus' ) filteredByStatus ?: string ) {
93+ // Преобразуем строку в boolean, если параметр передан
94+ let isApproved : boolean | undefined = undefined ;
95+ if ( filteredByStatus !== undefined ) {
96+ if ( filteredByStatus === 'true' ) {
97+ isApproved = true ;
98+ } else if ( filteredByStatus === 'false' ) {
99+ isApproved = false ;
100+ }
101+ // Если передано что-то другое, оставляем undefined (выводим все)
102+ }
103+ return this . organizationService . findAll ( isApproved ) ;
78104 }
79105
80106 @Get ( ':id' )
0 commit comments