INNER CODE UNIT · TypeScript
verifyOTPAndLogin
ashishrawat2911/firekart_app · backend/src/controllers/authController.ts:24
export const verifyOTPAndLogin = async (req: Request, res: Response) => {
try {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return ApiResponse.badRequest(res, ApiResponseMessages.phoneNumberOrOTPNotValid, errors)
}
const {phoneNumber, otp, name, deviceToken} = req.body;
let user = await userService.getUserByPhoneNumber(phoneNumber);
if (!user) {
if (!name) {
return ApiResponse.badRequest(res, ApiResponseMessages.userNameNotProvided, errors)
}
}
const isOTPValid = await userService.verifyOTP(phoneNumber, otp);
if (isOTPValid) {
if (!user) {
user = await userService.createUser(phoneNumber, name, deviceToken)
} else {