"use server"; import type { TNationalPerson } from "@/lib/types"; import type { User } from "@prisma/client"; export async function getNationalPerson({ idCard, }: { idCard: string }): Promise { 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; }