tambah menu sideBarMenu , middleware definepagemeta

This commit is contained in:
2025-07-10 12:06:56 +07:00
parent 1b05076317
commit c37759cc8f
16 changed files with 244 additions and 149 deletions

No files matched your search

+37 -33
View File
@@ -1,40 +1,44 @@
// middleware/auth.ts
import { useAccess } from '~/composables/useAccess'
import { useAccess } from "~/composables/useAccess";
export default defineNuxtRouteMiddleware((to) => {
const { getRole, getPermissionsByPath } = useAccess()
const role = useAccess()
// const perms = getPermissionsByPath(to.path)
// const meta = to.meta
// const perms = getPermissionsByPath(to.path)
const roleUser = 'admin';
const { getRole, getMergedPages,getPermisionPage } = useAccess(to.path , roleUser);
const mergedPages = getMergedPages
const permisionPage = getPermisionPage
//console.log("role", getRole);
//console.log("meta", path);
// Jika belum login, redirect ke halaman login
const isLoggedIn = !!role // role
if (!isLoggedIn) {
console.log('[ NOT LOGGED IN]', { path: to.path })
//return navigateTo('/login') //
if (!roleUser) {
console.log("[ NOT LOGGED IN]", { path: to.meta });
return navigateTo('/auth/login') //
}
// Validasi permission pada halaman
const meta = to.meta;
const allowedRole = (meta.role || []) as string[]
const rolePass = allowedRole.length === 0 || allowedRole.includes(roleUser)
//const permissionPass = !meta.permission || meta.permission.every(p => perms.includes(p))
console.log('middleware auth jalan di:', allowedRole);
//if (!rolePass || !permisionPage) {
if (!rolePass || !mergedPages) {
console.log('[ ACCESS DENIED]', {
path: to.path,
roleUser,
mergedPages
})
return navigateTo('/403') // Halaman tidak punya akses
}
// // Validasi permission
// const rolePass = !meta.role || meta.role.includes(role)
// const permissionPass = !meta.permission || meta.permission.every(p => perms.includes(p))
// if (!rolePass || !permissionPass) {
// console.log('[ ACCESS DENIED]', {
// path: to.path,
// role,
// requiredRole: meta.role,
// permissions: perms,
// requiredPermission: meta.permission
// })
// return navigateTo('/403') // Halaman tidak punya akses
// }
return navigateTo('/sample-page-copy')
// Semua valid, lanjut ke halaman
// console.log('[ACCESS GRANTED]', {
// path: to.path,
// role,
// permissions
// })
})
console.log('[ACCESS GRANTED]', {
path: to.path,
roleUser,
mergedPages,
permisionPage
})
});