"use server"; import { VerifyUserDetails } from "@/lib/person"; import { revalidatePath } from "next/cache"; import { redirect } from "next/navigation"; import { CreateClient } from "./ninja/client"; export async function VerifyUser(userId: string) { // const user = await prisma.user.findUnique({ // where: { // id: userId, // }, // include: { // atoll: true, // island: true, // }, // }); // if (!user) { // throw new Error("User not found"); // } // const isValidPerson = await VerifyUserDetails({ user }); // if (!isValidPerson) // throw new Error("The user details does not match national data."); // if (isValidPerson) { // await prisma.user.update({ // where: { // id: userId, // }, // data: { // verified: true, // }, // }); // const ninjaClient = await CreateClient({ // group_settings_id: "", // address1: "", // city: user.atoll?.name || "", // state: user.island?.name || "", // postal_code: "", // country_id: "462", // address2: user.address || "", // contacts: { // first_name: user.name?.split(" ")[0] || "", // last_name: user.name?.split(" ")[1] || "", // email: user.email || "", // phone: user.phoneNumber || "", // send_email: false, // custom_value1: user.dob?.toISOString().split("T")[0] || "", // custom_value2: user.id_card || "", // custom_value3: "", // }, // }); // } // revalidatePath("/users"); } export async function Rejectuser({ userId, reason, }: { userId: string; reason: string }) { // const user = await prisma.user.findUnique({ // where: { // id: userId, // }, // }); // if (!user) { // throw new Error("User not found"); // } // await SendUserRejectionDetailSMS({ // details: reason, // phoneNumber: user.phoneNumber, // }); // await prisma.user.delete({ // where: { // id: userId, // }, // }); revalidatePath("/users"); redirect("/users"); } export const SendUserRejectionDetailSMS = async ({ details, phoneNumber, }: { details: string; phoneNumber: string; }) => { try { const respose = await fetch(`${process.env.SMS_API_BASE_URL}/api/sms`, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${process.env.SMS_API_KEY}`, }, body: JSON.stringify({ check_delivery: false, number: phoneNumber, message: details, }), }); const data = await respose.json(); console.log(data); return data; } catch (error) { console.error(error); } }; export async function AddDevice({ name, mac_address, user_id, }: { name: string; mac_address: string; user_id: string }) { // const newDevice = await prisma.device.create({ // data: { // name: name, // mac: mac_address, // userId: user_id, // }, // }); revalidatePath("/devices"); // return newDevice; }