Files
hipmi/src/app_modules/auth/fun/fun_register.ts
Bagasbanuna02 f419559379 fix lib
deskripsi:
- pindah lib di dalam app ke src ( lib setara app dan app_modules )
2025-02-12 10:57:10 +08:00

72 lines
1.4 KiB
TypeScript

"use server";
import prisma from "@/lib/prisma";
import { RouterHome } from "@/lib/router_hipmi/router_home";
import { sealData } from "iron-session";
import { revalidatePath } from "next/cache";
import { cookies } from "next/headers";
export async function Auth_funRegister({
data,
HIPMI_PWD,
}: {
data: any;
HIPMI_PWD: string;
}) {
const pswd = process.env.WIBU_PWD as string;
const cekUsername = await prisma.user.findUnique({
where: {
username: data.username,
},
});
if (cekUsername != null)
return {
status: 400,
message: "Username sudah terdaftar",
};
const create = await prisma.user.create({
data: {
username: data.username,
nomor: data.nomor,
},
});
if (!create) return { status: 400, message: "Gagal Mendaftar" };
const sealToken = await sealData(
JSON.stringify({
id: create.id,
username: create.username,
}),
{
password: pswd,
}
);
cookies().set({
name: "mySession",
value: sealToken,
maxAge: 60 * 60 * 24 * 7,
});
try {
const createUserSession = await prisma.userSession.create({
data: {
token: sealToken,
userId: create.id,
},
});
if (!createUserSession)
return { status: 401, message: "Gagal Membuat User Session" };
revalidatePath(RouterHome.main_home);
} catch (error) {
console.log(error);
}
return { status: 200, message: "Berhasil Mendaftar" };
}