mirror of
https://github.com/i701/sarlink-portal.git
synced 2025-02-21 18:22:00 +00:00
Some checks failed
Build and Push Docker Images / Build and Push Docker Images (push) Failing after 3m9s
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
"use server";
|
|
import type { TNationalPerson } from "@/lib/types";
|
|
import type { User } from "@prisma/client";
|
|
|
|
export async function getNationalPerson({
|
|
idCard,
|
|
}: { idCard: string }): Promise<TNationalPerson> {
|
|
const nationalInformation = await fetch(
|
|
`${process.env.PERSON_VERIFY_API_BASE}/api/person/${idCard}`,
|
|
{
|
|
next: {
|
|
revalidate: 60,
|
|
},
|
|
},
|
|
);
|
|
const nationalData = (await nationalInformation.json()) as TNationalPerson;
|
|
return nationalData;
|
|
}
|
|
|
|
export async function VerifyUserDetails({ user }: { user: User }) {
|
|
const phoneNumber = String(user.phoneNumber).slice(4);
|
|
console.log({ phoneNumber });
|
|
const nationalData = await getNationalPerson({ idCard: user.id_card ?? "" });
|
|
const dob = new Date(nationalData.dob);
|
|
const age = new Date().getFullYear() - dob.getFullYear();
|
|
|
|
console.log("ID card", user.id_card === nationalData.nic);
|
|
console.log("name", user.name === nationalData.name_en);
|
|
console.log("house", user.address === nationalData.house_name_en);
|
|
console.log("phone", phoneNumber === nationalData.primary_contact);
|
|
console.log("db phone", phoneNumber);
|
|
console.log("national phone", nationalData.primary_contact);
|
|
|
|
if (
|
|
user.id_card === nationalData.nic &&
|
|
user.name === nationalData.name_en &&
|
|
user.address === nationalData.house_name_en &&
|
|
age >= 18
|
|
) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|