From 29ed926dc19daa157d44b85407c9678388b4bf03 Mon Sep 17 00:00:00 2001 From: sdraris Date: Tue, 26 Aug 2025 15:05:16 +0200 Subject: [PATCH] parents route edited --- src/routes/parents/parents.controller.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/routes/parents/parents.controller.ts b/src/routes/parents/parents.controller.ts index 70377ae..9a99b2b 100644 --- a/src/routes/parents/parents.controller.ts +++ b/src/routes/parents/parents.controller.ts @@ -7,7 +7,9 @@ import { RoleType } from 'src/entities/users.entity'; import { CreateParentDto } from './dto/create_parents.dto'; import * as typeorm from 'typeorm'; import { UpdateParentsDto } from './dto/update_parents.dto'; +import { ApiBody, ApiResponse, ApiTags } from '@nestjs/swagger'; +@ApiTags('Parents') @Controller('parents') export class ParentsController extends BaseController { constructor(private readonly parentsService: ParentsService) { @@ -17,6 +19,7 @@ export class ParentsController extends BaseController { //Lister tous les parents @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) //Seul les utilisateurs super admin et gestionnaire peuvent accéder à cette route @Get() + @ApiResponse({ status: 200, description: 'Liste des parents' }) override getAll(): Promise { return this.parentsService.findAll(); } @@ -24,6 +27,8 @@ export class ParentsController extends BaseController { //Rechercher par user_id @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) //Seul les utilisateurs super admin et gestionnaire peuvent accéder à cette route @Get(':id') + @ApiResponse({ status: 200, description: 'Détails du parent par ID utilisateur' }) + @ApiResponse({ status: 404, description: 'Parent non trouvé' }) getOne(@Param('id') user_id: string): Promise { return this.parentsService.findOne(user_id); } @@ -31,6 +36,9 @@ export class ParentsController extends BaseController { //Creation de parents @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) //Seul les utilisateurs super admin et gestionnaire peuvent accéder à cette route @Post() + @ApiBody({ type: CreateParentDto }) + @ApiResponse({ status: 201, description: 'Parent créé avec succès' }) + @ApiResponse({ status: 403, description: 'Acces invalide' }) create(@Body() data: typeorm.DeepPartial): Promise { return this.parentsService.create(data as CreateParentDto); } @@ -38,6 +46,9 @@ export class ParentsController extends BaseController { //Modifier un parent @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) //Seul les utilisateurs super admin et gestionnaire peuvent accéder à cette route @Patch(':id') + @ApiBody({ type: UpdateParentsDto }) + @ApiResponse({ status: 200, description: 'Parent mis a jour avec succès' }) + @ApiResponse({ status: 404, description: 'Parent introuvable' }) update( @Param('id') id: string, @Body() dto: UpdateParentsDto @@ -48,6 +59,9 @@ export class ParentsController extends BaseController { //Supprmer un parent @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) //Seul les utilisateurs super admin et gestionnaire peuvent accéder à cette route @Delete(':id') + @ApiResponse({ status: 200, description: 'Parent supprime avec succès' }) + @ApiResponse({ status: 404, description: 'Parent introuvable' }) + @ApiResponse({ status: 403, description: 'Acces refuse' }) remove(@Param('id') id: string): Promise { return this.parentsService.remove(id); }