From 1854e65ceab97cfa1a8ab57da03e1a65df0d179c Mon Sep 17 00:00:00 2001 From: sdraris Date: Fri, 29 Aug 2025 11:09:39 +0200 Subject: [PATCH] user controller edited --- src/routes/user/user.controller.ts | 80 +++++++++++++++--------------- 1 file changed, 39 insertions(+), 41 deletions(-) diff --git a/src/routes/user/user.controller.ts b/src/routes/user/user.controller.ts index 2b19aa2..9a36a9c 100644 --- a/src/routes/user/user.controller.ts +++ b/src/routes/user/user.controller.ts @@ -1,4 +1,4 @@ -import { Body, Controller, Delete, Get, Param, Patch, Post, UseGuards } from '@nestjs/common'; +import { Body, Controller, Delete, Get, Param, Patch, Post } from '@nestjs/common'; import { UserService } from './user.service'; import { Roles } from 'src/common/decorators/roles.decorator'; import { RoleType, Users } from 'src/entities/users.entity'; @@ -8,49 +8,47 @@ import { UpdateUserDto } from './dto/update_user.dto'; @Controller('users') export class UserController { - constructor(private readonly userService: UserService) {} + constructor(private readonly userService: UserService) {} - //Route pour creer un utilisateur - @Post() - @Roles(RoleType.SUPER_ADMIN ) //Seul les utilisateurs super admin peuvent accéder à cette route - create( - @Body() dto: CreateUserDto, - @User() currentUser: Users - ): Promise { - return this.userService.create(dto, currentUser) - } + // Création d'un utilisateur (réservée aux super admins) + @Post() + @Roles(RoleType.SUPER_ADMIN) + create( + @Body() dto: CreateUserDto, + @User() currentUser: Users + ): Promise { + return this.userService.create(dto, currentUser); + } + // Lister tous les utilisateurs (super_admin et gestionnaire) + @Get() + @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) + findAll() { + return this.userService.findAll(); + } - //Route pour retrouver tous les utilisateurs - @Get() - @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) //Seul les utilisateurs super admin et gestionnaire peuvent accéder à cette route - findAll() { - return this.userService.findAll(); - } + // Récupérer un utilisateur par son ID + @Get(':id') + @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) + findOne(@Param('id') id: string) { + return this.userService.findOne(id); + } - //Route pour retrouver un utilisateur par ID - @Get(':id') - @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) //Seul les utilisateurs super admin et gestionnaire peuvent accéder à cette route - findOne(@Param('id') id: string) { - return this.userService.findOne(id); - } + // Modifier un utilisateur (réservé super_admin) + @Patch(':id') + @Roles(RoleType.SUPER_ADMIN) + update( + @Param('id') id: string, + @Body() dto: UpdateUserDto, + @User() currentUser: Users + ) { + return this.userService.update(id, dto, currentUser); + } - //Route pour modifier un utilisateur - @Patch(':id') - @Roles(RoleType.SUPER_ADMIN) //Seul les utilisateurs super admin peuvent accéder à cette route - update( - @Param('id') id: string, - @Body() dto: UpdateUserDto, - @User() currentUser: Users - ) - { - return this.userService.update(id, dto, currentUser); - } - - //Route pour supprimer un utitilisateur - @Delete(':id') - @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) //Seul les utilisateurs super admin et gestionnaires peuvent accéder à cette route - remove(@Param('id') id: string) { - return this.userService.remove(id); - } + // Supprimer un utilisateur (super_admin et gestionnaire) + @Delete(':id') + @Roles(RoleType.SUPER_ADMIN, RoleType.GESTIONNAIRE) + remove(@Param('id') id: string) { + return this.userService.remove(id); + } }