Files
hipmi/src/app/api/auth/validasi/route.ts
Bagasbanuna02 6ee43ed20f feat: tambah dependensi 'jose' versi 5.9.2 pada package.json
refactor: rapikan identasi dan buat field 'expires' opsional di model UserSession pada schema prisma

chore: bersihkan import tidak terpakai di route login dan register API
2024-09-18 14:39:39 +08:00

52 lines
1.2 KiB
TypeScript

import prisma from "@/app/lib/prisma";
import { ServerEnv } from "@/app/lib/server_env";
import { sealData } from "iron-session";
import { revalidatePath } from "next/cache";
import { cookies } from "next/headers";
import { NextResponse } from "next/server";
export async function POST(req: Request) {
if (req.method === "POST") {
const body = await req.json();
const data = await prisma.user.findUnique({
where: {
nomor: body.nomor,
},
select: {
id: true,
nomor: true,
username: true,
active: true,
},
});
if (!data) return NextResponse.json({ status: 404 });
if (data) {
const res = await sealData(
JSON.stringify({
id: data.id,
username: data.username,
}),
{
password: ServerEnv.value?.WIBU_PWD as string,
}
);
cookies().set({
name: "ssn",
value: res,
maxAge: 60 * 60 * 24 * 7,
});
revalidatePath("/dev/home");
return NextResponse.json({ status: 200, data });
}
return NextResponse.json({ success: true });
}
return NextResponse.json({ success: false });
}