mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-11-26 10:34:55 +00:00
Enhance Swagger Documentation in UserAuthController
This commit is contained in:
@ -10,7 +10,7 @@ import {
|
|||||||
} from '@nestjs/common';
|
} from '@nestjs/common';
|
||||||
import { UserAuthService } from '../services/user-auth.service';
|
import { UserAuthService } from '../services/user-auth.service';
|
||||||
import { UserSignUpDto } from '../dtos/user-auth.dto';
|
import { UserSignUpDto } from '../dtos/user-auth.dto';
|
||||||
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
|
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
|
||||||
import { ResponseMessage } from '../../../libs/common/src/response/response.decorator';
|
import { ResponseMessage } from '../../../libs/common/src/response/response.decorator';
|
||||||
import { UserLoginDto } from '../dtos/user-login.dto';
|
import { UserLoginDto } from '../dtos/user-login.dto';
|
||||||
import { ForgetPasswordDto, UserOtpDto, VerifyOtpDto } from '../dtos';
|
import { ForgetPasswordDto, UserOtpDto, VerifyOtpDto } from '../dtos';
|
||||||
@ -18,17 +18,22 @@ import { RefreshTokenGuard } from '@app/common/guards/jwt-refresh.auth.guard';
|
|||||||
import { SuperAdminRoleGuard } from 'src/guards/super.admin.role.guard';
|
import { SuperAdminRoleGuard } from 'src/guards/super.admin.role.guard';
|
||||||
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
|
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
|
||||||
import { OtpType } from '@app/common/constants/otp-type.enum';
|
import { OtpType } from '@app/common/constants/otp-type.enum';
|
||||||
|
import { ControllerRoute } from '@app/common/constants/controller-route';
|
||||||
|
|
||||||
@Controller({
|
@Controller({
|
||||||
version: EnableDisableStatusEnum.ENABLED,
|
version: EnableDisableStatusEnum.ENABLED,
|
||||||
path: 'authentication',
|
path: ControllerRoute.AUTHENTICATION.ROUTE,
|
||||||
})
|
})
|
||||||
@ApiTags('Auth')
|
@ApiTags('Authentication Module')
|
||||||
export class UserAuthController {
|
export class UserAuthController {
|
||||||
constructor(private readonly userAuthService: UserAuthService) {}
|
constructor(private readonly userAuthService: UserAuthService) {}
|
||||||
|
|
||||||
@ResponseMessage('User Registered Successfully')
|
@ResponseMessage('User Registered Successfully')
|
||||||
@Post('user/signup')
|
@Post('user/signup')
|
||||||
|
@ApiOperation({
|
||||||
|
summary: ControllerRoute.AUTHENTICATION.ACTIONS.SIGN_UP_SUMMARY,
|
||||||
|
description: ControllerRoute.AUTHENTICATION.ACTIONS.SIGN_UP_DESCRIPTION,
|
||||||
|
})
|
||||||
async signUp(@Body() userSignUpDto: UserSignUpDto) {
|
async signUp(@Body() userSignUpDto: UserSignUpDto) {
|
||||||
const signupUser = await this.userAuthService.signUp(userSignUpDto);
|
const signupUser = await this.userAuthService.signUp(userSignUpDto);
|
||||||
return {
|
return {
|
||||||
@ -41,8 +46,12 @@ export class UserAuthController {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseMessage('user logged in successfully')
|
@ResponseMessage('User Logged in Successfully')
|
||||||
@Post('user/login')
|
@Post('user/login')
|
||||||
|
@ApiOperation({
|
||||||
|
summary: ControllerRoute.AUTHENTICATION.ACTIONS.LOGIN_SUMMARY,
|
||||||
|
description: ControllerRoute.AUTHENTICATION.ACTIONS.LOGIN_DESCRIPTION,
|
||||||
|
})
|
||||||
async userLogin(@Body() data: UserLoginDto) {
|
async userLogin(@Body() data: UserLoginDto) {
|
||||||
const accessToken = await this.userAuthService.userLogin(data);
|
const accessToken = await this.userAuthService.userLogin(data);
|
||||||
return {
|
return {
|
||||||
@ -53,6 +62,10 @@ export class UserAuthController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Post('user/send-otp')
|
@Post('user/send-otp')
|
||||||
|
@ApiOperation({
|
||||||
|
summary: ControllerRoute.AUTHENTICATION.ACTIONS.SEND_OTP_SUMMARY,
|
||||||
|
description: ControllerRoute.AUTHENTICATION.ACTIONS.SEND_OTP_DESCRIPTION,
|
||||||
|
})
|
||||||
async sendOtp(@Body() otpDto: UserOtpDto) {
|
async sendOtp(@Body() otpDto: UserOtpDto) {
|
||||||
const otpCode = await this.userAuthService.generateOTP(otpDto);
|
const otpCode = await this.userAuthService.generateOTP(otpDto);
|
||||||
return {
|
return {
|
||||||
@ -60,11 +73,15 @@ export class UserAuthController {
|
|||||||
data: {
|
data: {
|
||||||
...otpCode,
|
...otpCode,
|
||||||
},
|
},
|
||||||
message: 'Otp Send Successfully',
|
message: 'Otp Sent Successfully',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Post('user/verify-otp')
|
@Post('user/verify-otp')
|
||||||
|
@ApiOperation({
|
||||||
|
summary: ControllerRoute.AUTHENTICATION.ACTIONS.VERIFY_OTP_SUMMARY,
|
||||||
|
description: ControllerRoute.AUTHENTICATION.ACTIONS.VERIFY_OTP_DESCRIPTION,
|
||||||
|
})
|
||||||
async verifyOtp(@Body() verifyOtpDto: VerifyOtpDto) {
|
async verifyOtp(@Body() verifyOtpDto: VerifyOtpDto) {
|
||||||
await this.userAuthService.verifyOTP(verifyOtpDto);
|
await this.userAuthService.verifyOTP(verifyOtpDto);
|
||||||
return {
|
return {
|
||||||
@ -75,6 +92,11 @@ export class UserAuthController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Post('user/forget-password')
|
@Post('user/forget-password')
|
||||||
|
@ApiOperation({
|
||||||
|
summary: ControllerRoute.AUTHENTICATION.ACTIONS.FORGET_PASSWORD_SUMMARY,
|
||||||
|
description:
|
||||||
|
ControllerRoute.AUTHENTICATION.ACTIONS.FORGET_PASSWORD_DESCRIPTION,
|
||||||
|
})
|
||||||
async forgetPassword(@Body() forgetPasswordDto: ForgetPasswordDto) {
|
async forgetPassword(@Body() forgetPasswordDto: ForgetPasswordDto) {
|
||||||
const otpResult = await this.userAuthService.verifyOTP(
|
const otpResult = await this.userAuthService.verifyOTP(
|
||||||
{
|
{
|
||||||
@ -102,6 +124,10 @@ export class UserAuthController {
|
|||||||
@ApiBearerAuth()
|
@ApiBearerAuth()
|
||||||
@UseGuards(SuperAdminRoleGuard)
|
@UseGuards(SuperAdminRoleGuard)
|
||||||
@Get('user')
|
@Get('user')
|
||||||
|
@ApiOperation({
|
||||||
|
summary: ControllerRoute.AUTHENTICATION.ACTIONS.USER_LIST_SUMMARY,
|
||||||
|
description: ControllerRoute.AUTHENTICATION.ACTIONS.USER_LIST_DESCRIPTION,
|
||||||
|
})
|
||||||
async userList() {
|
async userList() {
|
||||||
const userList = await this.userAuthService.userList();
|
const userList = await this.userAuthService.userList();
|
||||||
return {
|
return {
|
||||||
@ -114,6 +140,11 @@ export class UserAuthController {
|
|||||||
@ApiBearerAuth()
|
@ApiBearerAuth()
|
||||||
@UseGuards(RefreshTokenGuard)
|
@UseGuards(RefreshTokenGuard)
|
||||||
@Get('refresh-token')
|
@Get('refresh-token')
|
||||||
|
@ApiOperation({
|
||||||
|
summary: ControllerRoute.AUTHENTICATION.ACTIONS.REFRESH_TOKEN_SUMMARY,
|
||||||
|
description:
|
||||||
|
ControllerRoute.AUTHENTICATION.ACTIONS.REFRESH_TOKEN_DESCRIPTION,
|
||||||
|
})
|
||||||
async refreshToken(@Req() req) {
|
async refreshToken(@Req() req) {
|
||||||
const refreshToken = await this.userAuthService.refreshToken(
|
const refreshToken = await this.userAuthService.refreshToken(
|
||||||
req.user.uuid,
|
req.user.uuid,
|
||||||
|
|||||||
Reference in New Issue
Block a user