mirror of
https://github.com/i701/sarlink-portal.git
synced 2025-07-01 21:28:23 +00:00
feat: implement user registration and OTP verification flow with backend integration
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 4m29s
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 4m29s
This commit is contained in:
@ -1,7 +1,8 @@
|
||||
"use server";
|
||||
|
||||
import { signUpFormSchema } from "@/lib/schemas";
|
||||
import { checkIdOrPhone } from "@/queries/authentication";
|
||||
import { backendRegister, checkIdOrPhone } from "@/queries/authentication";
|
||||
import { tryCatch } from "@/utils/tryCatch";
|
||||
import { redirect } from "next/navigation";
|
||||
import { z } from "zod";
|
||||
const formSchema = z.object({
|
||||
@ -117,22 +118,28 @@ export async function signup(_actionState: ActionState, formData: FormData) {
|
||||
db_error: "phone_number",
|
||||
};
|
||||
}
|
||||
|
||||
// const newUser = await prisma.user.create({
|
||||
// data: {
|
||||
// name: parsedData.data.name,
|
||||
// islandId: parsedData.data.island_id,
|
||||
// atollId: parsedData.data.atoll_id,
|
||||
// address: parsedData.data.address,
|
||||
// id_card: parsedData.data.id_card,
|
||||
// dob: new Date(parsedData.data.dob),
|
||||
// role: "USER",
|
||||
// accNo: parsedData.data.accNo,
|
||||
// phoneNumber: parsedData.data.phone_number,
|
||||
// },
|
||||
// });
|
||||
// const isValidPerson = await VerifyUserDetails({ user: newUser });
|
||||
|
||||
const [signupError, signupResponse] = await tryCatch(
|
||||
backendRegister({
|
||||
payload: {
|
||||
firstname: parsedData.data.name,
|
||||
lastname: parsedData.data.name,
|
||||
username: parsedData.data.phone_number,
|
||||
address: parsedData.data.address,
|
||||
id_card: parsedData.data.id_card,
|
||||
dob: new Date(parsedData.data.dob).toISOString().split("T")[0],
|
||||
mobile: parsedData.data.phone_number,
|
||||
island: Number.parseInt(parsedData.data.island_id),
|
||||
atoll: Number.parseInt(parsedData.data.atoll_id),
|
||||
acc_no: parsedData.data.accNo,
|
||||
terms_accepted: parsedData.data.terms,
|
||||
policy_accepted: parsedData.data.policy,
|
||||
},
|
||||
}),
|
||||
);
|
||||
if (signupError) {
|
||||
throw new Error(signupError.message);
|
||||
}
|
||||
console.log("SIGNUP RESPONSE", signupResponse);
|
||||
// if (!isValidPerson) {
|
||||
// await SendUserRejectionDetailSMS({
|
||||
// details: `
|
||||
@ -162,9 +169,9 @@ export async function signup(_actionState: ActionState, formData: FormData) {
|
||||
// phoneNumber: newUser.phoneNumber,
|
||||
// });
|
||||
// }
|
||||
// redirect(
|
||||
// `/verify-otp?phone_number=${encodeURIComponent(newUser.phoneNumber)}`,
|
||||
// );
|
||||
redirect(
|
||||
`/auth/verify-otp-registration?phone_number=${encodeURIComponent(signupResponse.t_username)}`,
|
||||
);
|
||||
return { message: "User created successfully" };
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user