From 25e331f59e699d29312a143b467fd1e74714e179 Mon Sep 17 00:00:00 2001 From: faris Aljohari <83524184+farisaljohari@users.noreply.github.com> Date: Sat, 23 Nov 2024 22:52:00 -0600 Subject: [PATCH] Add API operation descriptions and update route paths --- src/users/controllers/user.controller.ts | 49 +++++++++++++++++++----- 1 file changed, 40 insertions(+), 9 deletions(-) diff --git a/src/users/controllers/user.controller.ts b/src/users/controllers/user.controller.ts index 503f47c..6f0eded 100644 --- a/src/users/controllers/user.controller.ts +++ b/src/users/controllers/user.controller.ts @@ -9,7 +9,7 @@ import { UseGuards, } from '@nestjs/common'; import { UserService } from '../services/user.service'; -import { ApiTags, ApiBearerAuth } from '@nestjs/swagger'; +import { ApiTags, ApiBearerAuth, ApiOperation } from '@nestjs/swagger'; import { JwtAuthGuard } from '../../../libs/common/src/guards/jwt.auth.guard'; import { UpdateNameDto, @@ -20,11 +20,12 @@ import { import { CheckProfilePictureGuard } from 'src/guards/profile.picture.guard'; import { SuperAdminRoleGuard } from 'src/guards/super.admin.role.guard'; import { EnableDisableStatusEnum } from '@app/common/constants/days.enum'; +import { ControllerRoute } from '@app/common/constants/controller-route'; @ApiTags('User Module') @Controller({ version: EnableDisableStatusEnum.ENABLED, - path: 'user', + path: ControllerRoute.USER.ROUTE, }) export class UserController { constructor(private readonly userService: UserService) {} @@ -32,12 +33,22 @@ export class UserController { @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Get(':userUuid') + @ApiOperation({ + summary: ControllerRoute.USER.ACTIONS.GET_USER_DETAILS_SUMMARY, + description: ControllerRoute.USER.ACTIONS.GET_USER_DETAILS_DESCRIPTION, + }) async getUserDetailsByUserUuid(@Param('userUuid') userUuid: string) { return await this.userService.getUserDetailsByUserUuid(userUuid); } + @ApiBearerAuth() @UseGuards(JwtAuthGuard, CheckProfilePictureGuard) @Put('/profile-picture/:userUuid') + @ApiOperation({ + summary: ControllerRoute.USER.ACTIONS.UPDATE_PROFILE_PICTURE_SUMMARY, + description: + ControllerRoute.USER.ACTIONS.UPDATE_PROFILE_PICTURE_DESCRIPTION, + }) async updateProfilePictureByUserUuid( @Param('userUuid') userUuid: string, @Body() updateProfilePictureDataDto: UpdateProfilePictureDataDto, @@ -49,13 +60,18 @@ export class UserController { return { statusCode: HttpStatus.CREATED, success: true, - message: 'profile picture updated successfully', + message: 'Profile picture updated successfully', data: userData, }; } + @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Put('/region/:userUuid') + @ApiOperation({ + summary: ControllerRoute.USER.ACTIONS.UPDATE_REGION_SUMMARY, + description: ControllerRoute.USER.ACTIONS.UPDATE_REGION_DESCRIPTION, + }) async updateRegionByUserUuid( @Param('userUuid') userUuid: string, @Body() updateRegionDataDto: UpdateRegionDataDto, @@ -67,14 +83,19 @@ export class UserController { return { statusCode: HttpStatus.CREATED, success: true, - message: 'region updated successfully', + message: 'Region updated successfully', data: userData, }; } + @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Put('/timezone/:userUuid') - async updateNameByUserUuid( + @ApiOperation({ + summary: ControllerRoute.USER.ACTIONS.UPDATE_TIMEZONE_SUMMARY, + description: ControllerRoute.USER.ACTIONS.UPDATE_TIMEZONE_DESCRIPTION, + }) + async updateTimezoneByUserUuid( @Param('userUuid') userUuid: string, @Body() updateTimezoneDataDto: UpdateTimezoneDataDto, ) { @@ -85,14 +106,19 @@ export class UserController { return { statusCode: HttpStatus.CREATED, success: true, - message: 'timezone updated successfully', + message: 'Timezone updated successfully', data: userData, }; } + @ApiBearerAuth() @UseGuards(JwtAuthGuard) @Put('/name/:userUuid') - async updateTimezoneByUserUuid( + @ApiOperation({ + summary: ControllerRoute.USER.ACTIONS.UPDATE_NAME_SUMMARY, + description: ControllerRoute.USER.ACTIONS.UPDATE_NAME_DESCRIPTION, + }) + async updateNameByUserUuid( @Param('userUuid') userUuid: string, @Body() updateNameDto: UpdateNameDto, ) { @@ -103,13 +129,18 @@ export class UserController { return { statusCode: HttpStatus.CREATED, success: true, - message: 'name updated successfully', + message: 'Name updated successfully', data: userData, }; } + @ApiBearerAuth() @UseGuards(SuperAdminRoleGuard) @Delete('/:userUuid') + @ApiOperation({ + summary: ControllerRoute.USER.ACTIONS.DELETE_USER_SUMMARY, + description: ControllerRoute.USER.ACTIONS.DELETE_USER_DESCRIPTION, + }) async userDelete(@Param('userUuid') userUuid: string) { await this.userService.deleteUser(userUuid); return { @@ -117,7 +148,7 @@ export class UserController { data: { userUuid, }, - message: 'User Deleted Successfully', + message: 'User deleted successfully', }; } }