Skip to content

Commit c89ba5e

Browse files
committed
chore: Update ApiTags decorator in KeyringsController to 'core/keyrings'
1 parent 350ae1b commit c89ba5e

11 files changed

+78
-46
lines changed
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
import { applyDecorators, Type } from '@nestjs/common';
22
import { ApiBodyOptions } from '@nestjs/swagger';
3-
import { ApiBodyDecorator } from '~/_common/decorators/api-body.decorator';
43
import { ApiResponseOptions } from '@nestjs/swagger/dist/decorators/api-response.decorator';
4+
import { ApiBodyDecorator } from '~/_common/decorators/api-body.decorator';
55
import { ApiCreatedResponseDecorator } from '~/_common/decorators/api-created-response.decorator';
66

77
export const ApiCreateDecorator = <TModel extends Type<NonNullable<unknown>>>(
88
bodyModel: TModel,
99
responseModel: TModel,
10-
bodyOptions?: ApiBodyOptions | null | undefined,
11-
responseOptions?: ApiResponseOptions | null | undefined,
10+
options?: {
11+
bodyOptions?: ApiBodyOptions | null | undefined,
12+
responseOptions?: ApiResponseOptions | null | undefined,
13+
},
1214
) => {
1315
return applyDecorators(
14-
ApiBodyDecorator(bodyModel, bodyOptions),
15-
ApiCreatedResponseDecorator(responseModel, responseOptions),
16+
ApiBodyDecorator(bodyModel, options?.bodyOptions),
17+
ApiCreatedResponseDecorator(responseModel, { responseOptions: options?.responseOptions }),
1618
);
1719
};

src/_common/decorators/api-created-response.decorator.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
import { applyDecorators, HttpStatus, Type } from '@nestjs/common';
2-
import { ApiBadRequestResponse, ApiCreatedResponse, ApiExtraModels, getSchemaPath } from '@nestjs/swagger';
2+
import { ApiBadRequestResponse, ApiCreatedResponse, ApiExtraModels, ApiOperation, ApiOperationOptions, getSchemaPath } from '@nestjs/swagger';
33
import { ApiResponseOptions } from '@nestjs/swagger/dist/decorators/api-response.decorator';
44
import { ErrorSchemaDto } from '~/_common/dto/error-schema.dto';
55

66
export const ApiCreatedResponseDecorator = <TModel extends Type<NonNullable<unknown>>>(
77
model: TModel,
8-
options?: ApiResponseOptions | null | undefined,
8+
options?: {
9+
responseOptions?: ApiResponseOptions | null | undefined,
10+
operationOptions?: ApiOperationOptions | null | undefined,
11+
}
912
) => {
1013
return applyDecorators(
1114
ApiExtraModels(model),
@@ -22,13 +25,14 @@ export const ApiCreatedResponseDecorator = <TModel extends Type<NonNullable<unkn
2225
},
2326
},
2427
},
25-
...options,
28+
...options?.responseOptions,
2629
}),
2730
ApiBadRequestResponse({
2831
description: 'Schema validation failed',
2932
schema: {
3033
$ref: getSchemaPath(ErrorSchemaDto),
3134
},
3235
}),
36+
ApiOperation({ summary: `Création d'une nouvelle entrée <${model.name.replace(/Dto$/, '')}>`, ...options?.operationOptions }),
3337
);
3438
};

src/_common/decorators/api-deleted-response.decorator.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import { applyDecorators, HttpStatus, Type } from '@nestjs/common';
2-
import { ApiExtraModels, ApiNotFoundResponse, getSchemaPath } from '@nestjs/swagger';
2+
import { ApiExtraModels, ApiNotFoundResponse, ApiOperation, ApiOperationOptions, getSchemaPath } from '@nestjs/swagger';
33
import { ApiOkResponse, ApiResponseOptions } from '@nestjs/swagger/dist/decorators/api-response.decorator';
44
import { NotFoundDto } from '~/_common/dto/not-found.dto';
55

66
export const ApiDeletedResponseDecorator = <TModel extends Type<NonNullable<unknown>>>(
77
model: TModel,
8-
responseOptions?: ApiResponseOptions | null | undefined,
9-
notFoundOptions?: ApiResponseOptions | null | undefined,
8+
options?: {
9+
responseOptions?: ApiResponseOptions | null | undefined,
10+
notFoundOptions?: ApiResponseOptions | null | undefined,
11+
operationOptions?: ApiOperationOptions | null | undefined,
12+
},
1013
) => {
1114
return applyDecorators(
1215
ApiExtraModels(model),
@@ -23,14 +26,15 @@ export const ApiDeletedResponseDecorator = <TModel extends Type<NonNullable<unkn
2326
},
2427
},
2528
},
26-
...responseOptions,
29+
...options?.responseOptions,
2730
}),
2831
ApiNotFoundResponse({
2932
description: 'Item not found',
3033
schema: {
3134
$ref: getSchemaPath(NotFoundDto),
3235
},
33-
...notFoundOptions,
36+
...options?.notFoundOptions,
3437
}),
38+
ApiOperation({ summary: `Suppression d'une entrée <${model.name.replace(/Dto$/, '')}>`, ...options?.operationOptions }),
3539
);
3640
};

src/_common/decorators/api-paginated-response.decorator.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import { applyDecorators, HttpStatus, Type } from '@nestjs/common';
2-
import { ApiExtraModels, getSchemaPath } from '@nestjs/swagger';
2+
import { ApiExtraModels, ApiOperation, ApiOperationOptions, getSchemaPath } from '@nestjs/swagger';
33
import { ApiOkResponse, ApiResponseOptions } from '@nestjs/swagger/dist/decorators/api-response.decorator';
44
import { PaginatedResponseDto } from '~/_common/dto/paginated-response.dto';
55

66
// eslint-disable-next-line
77
export const ApiPaginatedResponseDecorator = <TModel extends Type<any>>(
88
model: TModel,
9-
options?: ApiResponseOptions | null | undefined,
9+
options?: {
10+
responseOptions?: ApiResponseOptions | null | undefined,
11+
operationOptions?: ApiOperationOptions | null | undefined,
12+
},
1013
) => {
1114
return applyDecorators(
1215
ApiExtraModels(model),
@@ -28,7 +31,8 @@ export const ApiPaginatedResponseDecorator = <TModel extends Type<any>>(
2831
},
2932
],
3033
},
31-
...options,
34+
...options?.responseOptions,
3235
}),
36+
ApiOperation({ summary: `Liste les entrées <${model.name.replace(/Dto$/, '')}> avec pagination et filtres`, ...options?.operationOptions }),
3337
);
3438
};

src/_common/decorators/api-paginated.decorator.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import { PaginatedFilterDto } from '~/_common/dto/paginated-filter.dto';
66

77
export const ApiPaginatedDecorator = <TModel extends Type<NonNullable<unknown>>>(
88
model: TModel,
9-
options?: ApiResponseOptions | null | undefined,
9+
options?: {
10+
responseOptions?: ApiResponseOptions | null | undefined,
11+
},
1012
) => {
1113
return applyDecorators(
1214
ApiQuery({ name: 'limit', type: Number, required: false }),
@@ -22,6 +24,6 @@ export const ApiPaginatedDecorator = <TModel extends Type<NonNullable<unknown>>>
2224
$ref: getSchemaPath(PaginatedFilterDto),
2325
},
2426
}),
25-
ApiPaginatedResponseDecorator(model, options),
27+
ApiPaginatedResponseDecorator(model, { responseOptions: options?.responseOptions }),
2628
);
2729
};

src/_common/decorators/api-read-response.decorator.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import { applyDecorators, HttpStatus, Type } from '@nestjs/common';
2-
import { ApiExtraModels, ApiNotFoundResponse, getSchemaPath } from '@nestjs/swagger';
2+
import { ApiExtraModels, ApiNotFoundResponse, ApiOperation, ApiOperationOptions, getSchemaPath } from '@nestjs/swagger';
33
import { ApiOkResponse, ApiResponseOptions } from '@nestjs/swagger/dist/decorators/api-response.decorator';
44
import { NotFoundDto } from '~/_common/dto/not-found.dto';
55

66
export const ApiReadResponseDecorator = <TModel extends Type<NonNullable<unknown>>>(
77
model: TModel,
8-
responseOptions?: ApiResponseOptions | null | undefined,
9-
notFoundOptions?: ApiResponseOptions | null | undefined,
8+
options?: {
9+
responseOptions?: ApiResponseOptions | null | undefined,
10+
notFoundOptions?: ApiResponseOptions | null | undefined,
11+
operationOptions?: ApiOperationOptions | null | undefined,
12+
},
1013
) => {
1114
return applyDecorators(
1215
ApiExtraModels(model),
@@ -23,14 +26,15 @@ export const ApiReadResponseDecorator = <TModel extends Type<NonNullable<unknown
2326
},
2427
},
2528
},
26-
...responseOptions,
29+
...options?.responseOptions,
2730
}),
2831
ApiNotFoundResponse({
2932
description: 'Item not found',
3033
schema: {
3134
$ref: getSchemaPath(NotFoundDto),
3235
},
33-
...notFoundOptions,
36+
...options?.notFoundOptions,
3437
}),
38+
ApiOperation({ summary: `Récupère l'entrée <${model.name.replace(/Dto$/, '')}> ciblée`, ...options?.operationOptions }),
3539
);
3640
};

src/_common/decorators/api-update.decorator.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ import { ApiUpdatedResponseDecorator } from '~/_common/decorators/api-updated-re
77
export const ApiUpdateDecorator = <TModel extends Type<NonNullable<unknown>>>(
88
bodyModel: TModel,
99
responseModel: TModel,
10-
bodyOptions?: ApiBodyOptions | null | undefined,
11-
responseOptions?: ApiResponseOptions | null | undefined,
10+
options?: {
11+
bodyOptions?: ApiBodyOptions | null | undefined,
12+
responseOptions?: ApiResponseOptions | null | undefined,
13+
},
1214
) => {
1315
return applyDecorators(
14-
ApiBodyDecorator(bodyModel, bodyOptions),
15-
ApiUpdatedResponseDecorator(responseModel, responseOptions),
16+
ApiBodyDecorator(bodyModel, options?.bodyOptions),
17+
ApiUpdatedResponseDecorator(responseModel, { responseOptions: options?.responseOptions }),
1618
);
1719
};

src/_common/decorators/api-updated-response.decorator.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
import { applyDecorators, HttpStatus, Type } from '@nestjs/common';
2-
import { ApiBadRequestResponse, ApiExtraModels, ApiNotFoundResponse, getSchemaPath } from '@nestjs/swagger';
2+
import { ApiBadRequestResponse, ApiExtraModels, ApiNotFoundResponse, ApiOperation, ApiOperationOptions, getSchemaPath } from '@nestjs/swagger';
33
import { ApiOkResponse, ApiResponseOptions } from '@nestjs/swagger/dist/decorators/api-response.decorator';
44
import { ErrorSchemaDto } from '~/_common/dto/error-schema.dto';
55
import { NotFoundDto } from '~/_common/dto/not-found.dto';
66

77
export const ApiUpdatedResponseDecorator = <TModel extends Type<NonNullable<unknown>>>(
88
model: TModel,
9-
responseOptions?: ApiResponseOptions | null | undefined,
10-
badRequestOptions?: ApiResponseOptions | null | undefined,
11-
notFoundOptions?: ApiResponseOptions | null | undefined,
9+
options?: {
10+
responseOptions?: ApiResponseOptions | null | undefined,
11+
badRequestOptions?: ApiResponseOptions | null | undefined,
12+
notFoundOptions?: ApiResponseOptions | null | undefined,
13+
operationOptions?: ApiOperationOptions | null | undefined,
14+
},
1215
) => {
1316
return applyDecorators(
1417
ApiExtraModels(model),
@@ -26,21 +29,22 @@ export const ApiUpdatedResponseDecorator = <TModel extends Type<NonNullable<unkn
2629
},
2730
},
2831
},
29-
...responseOptions,
32+
...options?.responseOptions,
3033
}),
3134
ApiBadRequestResponse({
3235
description: 'Schema validation failed',
3336
schema: {
3437
$ref: getSchemaPath(ErrorSchemaDto),
3538
},
36-
...badRequestOptions,
39+
...options?.badRequestOptions,
3740
}),
3841
ApiNotFoundResponse({
3942
description: 'Item not found',
4043
schema: {
4144
$ref: getSchemaPath(NotFoundDto),
4245
},
43-
...notFoundOptions,
46+
...options?.notFoundOptions,
4447
}),
48+
ApiOperation({ summary: `Mise à jour d'une entrée <${model.name.replace(/Dto$/, '')}>`, ...options?.operationOptions }),
4549
);
4650
};

src/app.controller.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { AppService } from './app.service';
33
import { Response } from 'express';
44
import { AbstractController } from '~/_common/abstracts/abstract.controller';
55
import { Public } from './_common/decorators/public.decorator';
6-
import { ApiBasicAuth, ApiBearerAuth } from '@nestjs/swagger';
6+
import { ApiBasicAuth, ApiBearerAuth, ApiOperation, ApiResponse } from '@nestjs/swagger';
77

88
@Public()
99
@Controller()
@@ -15,6 +15,8 @@ export class AppController extends AbstractController {
1515
}
1616

1717
@Get()
18+
@ApiOperation({ summary: 'Get API infos' })
19+
@ApiResponse({ status: 200, description: 'Return API infos' })
1820
public getInfo(@Res() res: Response): Response {
1921
return res.json({
2022
...this.appService.getInfo(),

src/core/agents/agents.controller.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import { Body, Controller, Delete, Get, HttpStatus, Param, Patch, Post, Res } from '@nestjs/common';
2-
import { AgentsService } from './agents.service';
3-
import { AbstractController } from '~/_common/abstracts/abstract.controller';
4-
import { Types } from 'mongoose';
5-
import { ApiUpdateDecorator } from '~/_common/decorators/api-update.decorator';
62
import { ApiParam, ApiTags } from '@nestjs/swagger';
7-
import { ApiDeletedResponseDecorator } from '~/_common/decorators/api-deleted-response.decorator';
8-
import { ObjectIdValidationPipe } from '~/_common/pipes/object-id-validation.pipe';
9-
import { AgentsCreateDto, AgentsDto, AgentsUpdateDto } from '~/core/agents/_dto/agents.dto';
10-
import { Response } from 'express';
11-
import { ApiReadResponseDecorator } from '~/_common/decorators/api-read-response.decorator';
12-
import { PickProjectionHelper } from '~/_common/helpers/pick-projection.helper';
133
import { FilterOptions, FilterSchema, SearchFilterOptions, SearchFilterSchema } from '@streamkits/nestjs_module_scrud';
4+
import { Response } from 'express';
5+
import { Types } from 'mongoose';
6+
import { AbstractController } from '~/_common/abstracts/abstract.controller';
147
import { ApiCreateDecorator } from '~/_common/decorators/api-create.decorator';
8+
import { ApiDeletedResponseDecorator } from '~/_common/decorators/api-deleted-response.decorator';
159
import { ApiPaginatedDecorator } from '~/_common/decorators/api-paginated.decorator';
10+
import { ApiReadResponseDecorator } from '~/_common/decorators/api-read-response.decorator';
11+
import { ApiUpdateDecorator } from '~/_common/decorators/api-update.decorator';
12+
import { PickProjectionHelper } from '~/_common/helpers/pick-projection.helper';
13+
import { ObjectIdValidationPipe } from '~/_common/pipes/object-id-validation.pipe';
1614
import { PartialProjectionType } from '~/_common/types/partial-projection.type';
15+
import { AgentsCreateDto, AgentsDto, AgentsUpdateDto } from '~/core/agents/_dto/agents.dto';
16+
import { AgentsService } from './agents.service';
1717

1818
@ApiTags('core/agents')
1919
@Controller('agents')

0 commit comments

Comments
 (0)