diff --git a/src/module/auth/api/funGetUserByCookies.ts b/src/module/auth/api/funGetUserByCookies.ts new file mode 100644 index 0000000..a80515e --- /dev/null +++ b/src/module/auth/api/funGetUserByCookies.ts @@ -0,0 +1,20 @@ +'use server' + +import { pwd_key_config, prisma } from "@/module/_global"; +import { unsealData } from "iron-session"; +import { cookies } from "next/headers"; + +export default async function funGetUserByCookies() { + const sessionCookie = cookies().get("sessionCookieSDM"); + const userId = await unsealData(sessionCookie!.value, { + password: pwd_key_config, + }); + + const user = await prisma.user.findUnique({ + where: { + id: String(userId), + }, + }); + + return { id: user?.id, name: user?.name, idVillage: user?.idVillage }; +} \ No newline at end of file diff --git a/src/module/auth/index.ts b/src/module/auth/index.ts index 9c3273d..228515f 100644 --- a/src/module/auth/index.ts +++ b/src/module/auth/index.ts @@ -1,4 +1,5 @@ import funDetectCookies from "./api/funDetectCookies"; +import funGetUserByCookies from "./api/funGetUserByCookies"; import funSetCookies from "./api/funSetCookies"; import ViewLogin from "./login/view/view_login"; import ViewVerification from "./varification/view/view_verification"; @@ -8,4 +9,5 @@ export { ViewLogin } export { ViewVerification } export { ViewWelcome } export { funSetCookies } -export { funDetectCookies } \ No newline at end of file +export { funDetectCookies } +export { funGetUserByCookies } \ No newline at end of file diff --git a/src/module/user/log/fun/createLogUser.tsx b/src/module/user/log/fun/createLogUser.tsx index ac50290..457095b 100644 --- a/src/module/user/log/fun/createLogUser.tsx +++ b/src/module/user/log/fun/createLogUser.tsx @@ -1,20 +1,26 @@ import { prisma } from "@/module/_global"; +import { funDetectCookies, funGetUserByCookies } from "@/module/auth"; export default async function createLogUser({ act, desc, table, data }: { act: string, desc: string, table: string, data: string }) { try { - // diambil dari cookies - const user = 'devAmalia' + // cek cookies + const cek = await funDetectCookies() + if (cek) { + const user = await funGetUserByCookies() - await prisma.userLog.create({ - data: { - idUser: user, - action: act, - desc: desc, - idContent: data, - tbContent: table - } - }) + await prisma.userLog.create({ + data: { + idUser: String(user.id), + action: act, + desc: desc, + idContent: data, + tbContent: table + } + }) + + return { success: true, message: "Success" } + } return { success: true, message: "Success" }