Merge pull request #81 from bipproduction/amalia/30-jul-24

Amalia/30 jul 24
This commit is contained in:
Amalia
2024-07-30 17:26:11 +08:00
committed by GitHub
5 changed files with 56 additions and 24 deletions

View File

@@ -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 };
}

View File

@@ -1,4 +1,5 @@
import funDetectCookies from "./api/funDetectCookies"; import funDetectCookies from "./api/funDetectCookies";
import funGetUserByCookies from "./api/funGetUserByCookies";
import funSetCookies from "./api/funSetCookies"; import funSetCookies from "./api/funSetCookies";
import ViewLogin from "./login/view/view_login"; import ViewLogin from "./login/view/view_login";
import ViewVerification from "./varification/view/view_verification"; import ViewVerification from "./varification/view/view_verification";
@@ -9,3 +10,4 @@ export { ViewVerification }
export { ViewWelcome } export { ViewWelcome }
export { funSetCookies } export { funSetCookies }
export { funDetectCookies } export { funDetectCookies }
export { funGetUserByCookies }

View File

@@ -38,8 +38,7 @@ export default function ViewVerification({ phone, otp, user }: IVerification) {
toast.success(setCookies.message) toast.success(setCookies.message)
if (setCookies.pertamaLogin == true) if (setCookies.pertamaLogin == true)
return router.replace('/welcome') return router.replace('/welcome')
console.log(setCookies.pertamaLogin) return window.location.href = '/home';
return router.replace('/home')
} else { } else {
toast.error(setCookies.message) toast.error(setCookies.message)
} }

View File

@@ -1,14 +1,17 @@
import { prisma } from "@/module/_global"; 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 }) { export default async function createLogUser({ act, desc, table, data }: { act: string, desc: string, table: string, data: string }) {
try { try {
// diambil dari cookies // cek cookies
const user = 'devAmalia' const cek = await funDetectCookies()
if (cek) {
const user = await funGetUserByCookies()
await prisma.userLog.create({ await prisma.userLog.create({
data: { data: {
idUser: user, idUser: String(user.id),
action: act, action: act,
desc: desc, desc: desc,
idContent: data, idContent: data,
@@ -16,6 +19,9 @@ export default async function createLogUser({ act, desc, table, data }: { act: s
} }
}) })
return { success: true, message: "Success" }
}
return { success: true, message: "Success" } return { success: true, message: "Success" }
} catch (error) { } catch (error) {

View File

@@ -16,13 +16,18 @@ import { useState } from "react";
export default function ViewProfile() { export default function ViewProfile() {
const [openModal, setOpenModal] = useState(false); const [openModal, setOpenModal] = useState(false);
async function onLogout() { async function onLogout(val: boolean) {
try { try {
if (val) {
await fetch('/api/auth/logout', { await fetch('/api/auth/logout', {
method: 'DELETE', method: 'DELETE',
}); });
toast.success('Logout Success') toast.success('Logout Success')
window.location.href = '/'; window.location.href = '/';
}
setOpenModal(false)
} catch (error) { } catch (error) {
console.error(error); console.error(error);
} }
@@ -82,7 +87,7 @@ export default function ViewProfile() {
<LayoutModal opened={openModal} onClose={() => setOpenModal(false)} <LayoutModal opened={openModal} onClose={() => setOpenModal(false)}
description="Apakah Anda yakin ingin Keluar?" description="Apakah Anda yakin ingin Keluar?"
onYes={() => onLogout()} /> onYes={(val) => onLogout(val)} />
</> </>
) )
} }