feat: integrate backend mobile login and enhance user verification flow
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 6m44s

This commit is contained in:
2025-04-17 23:25:06 +05:00
parent 1e023ebf13
commit 2cb2059f9e
2 changed files with 51 additions and 5 deletions

View File

@ -1,8 +1,13 @@
"use server";
import type { ActionState } from "@/actions/auth-actions";
import {
type ActionState,
type FilterUserResponse,
backendMobileLogin,
} from "@/actions/auth-actions";
import type { TAuthUser, User } from "@/lib/types/user";
import axiosInstance from "@/utils/axiosInstance";
import { handleApiResponse } from "@/utils/tryCatch";
import { handleApiResponse, tryCatch } from "@/utils/tryCatch";
import { redirect } from "next/navigation";
import { z } from "zod";
export async function login({
@ -63,7 +68,7 @@ export async function checkIdOrPhone({
},
},
);
const data = await response.json();
const data = (await response.json()) as FilterUserResponse;
return data;
}
@ -145,6 +150,31 @@ export async function VerifyRegistrationOTP(
);
const data = (await response.json()) as { message: string };
const [error, userVerified] = await tryCatch(
checkIdOrPhone({ phone_number: mobile as string }),
);
if (error) {
return {
message: "Your account could not be verified. Please contact support.",
status: "verify_error",
};
}
if (userVerified.verified) {
const [mobileLoginError, mobileLoginResponse] = await tryCatch(
backendMobileLogin({ mobile: mobile as string }),
);
if (mobileLoginError) {
return {
message: "Your account could not be verified. Please contact support.",
status: "verify_error",
};
}
if (mobileLoginResponse) {
redirect(`/auth/verify-otp?phone_number=${mobile}`);
}
}
return {
message: data.message,
status: response.status === 200 ? "success" : "error",