Files
2026-01-22 09:11:15 +07:00

41 lines
1.2 KiB
TypeScript

// export default defineNuxtRouteMiddleware((to, from) => {
// const authStore = useAuthStore()
// // Pastikan user sudah login
// if (!authStore.isAuthenticated) {
// return navigateTo('/login')
// }
// // Ambil role yang dibutuhkan dari meta page
// const requiredRoles = to.meta.roles as string[] | undefined
// const requiredPermissions = to.meta.permissions as string[] | undefined
// // Cek role
// if (requiredRoles && requiredRoles.length > 0) {
// const hasRequiredRole = requiredRoles.some(role =>
// authStore.hasRole(role)
// )
// if (!hasRequiredRole) {
// throw createError({
// statusCode: 403,
// statusMessage: 'Anda tidak memiliki akses ke halaman ini'
// })
// }
// }
// // Cek permissions
// if (requiredPermissions && requiredPermissions.length > 0) {
// const hasRequiredPermission = requiredPermissions.some(permission =>
// authStore.hasPermission(permission)
// )
// if (!hasRequiredPermission) {
// throw createError({
// statusCode: 403,
// statusMessage: 'Anda tidak memiliki izin untuk mengakses halaman ini'
// })
// }
// }
// })