mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-11-27 09:04:54 +00:00
feat: handle oauth2 login
This commit is contained in:
@ -6,11 +6,12 @@ import { AccessTokenGuard } from '~/common/guards';
|
||||
import { ApiDataResponse, ApiLangRequestHeader } from '~/core/decorators';
|
||||
import { ResponseFactory } from '~/core/utils';
|
||||
import {
|
||||
AppleLoginRequestDto,
|
||||
CreateUnverifiedUserRequestDto,
|
||||
DisableBiometricRequestDto,
|
||||
EnableBiometricRequestDto,
|
||||
ForgetPasswordRequestDto,
|
||||
LoginRequestDto,
|
||||
GoogleLoginRequestDto,
|
||||
RefreshTokenRequestDto,
|
||||
SendForgetPasswordOtpRequestDto,
|
||||
SendLoginOtpRequestDto,
|
||||
@ -57,6 +58,22 @@ export class AuthController {
|
||||
return ResponseFactory.data(new LoginResponseDto(token, user));
|
||||
}
|
||||
|
||||
@Post('login/google')
|
||||
@HttpCode(HttpStatus.OK)
|
||||
@ApiDataResponse(LoginResponseDto)
|
||||
async loginWithGoogle(@Body() data: GoogleLoginRequestDto) {
|
||||
const [token, user] = await this.authService.loginWithGoogle(data);
|
||||
return ResponseFactory.data(new LoginResponseDto(token, user));
|
||||
}
|
||||
|
||||
@Post('login/apple')
|
||||
@HttpCode(HttpStatus.OK)
|
||||
@ApiDataResponse(LoginResponseDto)
|
||||
async loginWithApple(@Body() data: AppleLoginRequestDto) {
|
||||
const [token, user] = await this.authService.loginWithApple(data);
|
||||
return ResponseFactory.data(new LoginResponseDto(token, user));
|
||||
}
|
||||
|
||||
@Post('register/set-email')
|
||||
@HttpCode(HttpStatus.NO_CONTENT)
|
||||
@UseGuards(AccessTokenGuard)
|
||||
@ -128,12 +145,6 @@ export class AuthController {
|
||||
return ResponseFactory.data(new LoginResponseDto(res, user));
|
||||
}
|
||||
|
||||
@Post('login')
|
||||
async login(@Body() loginDto: LoginRequestDto) {
|
||||
const [res, user] = await this.authService.login(loginDto);
|
||||
return ResponseFactory.data(new LoginResponseDto(res, user));
|
||||
}
|
||||
|
||||
@Post('logout')
|
||||
@HttpCode(HttpStatus.NO_CONTENT)
|
||||
@UseGuards(AccessTokenGuard)
|
||||
|
||||
Reference in New Issue
Block a user