dev: hotfix, system by-passes role-access

This commit is contained in:
2025-10-24 15:34:31 +07:00
parent b90f0c1047
commit 3558672f9a
3 changed files with 8 additions and 6 deletions
+3 -4
View File
@@ -9,13 +9,12 @@ export function useRBAC() {
const checkRole = (roleAccess: RoleAccess, _userRoles?: string[]): boolean => {
const roles = authStore.userRole
return roles.some((role: string) => role in roleAccess)
return roles.some((role: string) => (role in roleAccess) || role === 'system') // system by-passes this check
}
const checkPermission = (roleAccess: RoleAccess, permission: Permission, _userRoles?: string[]): boolean => {
const roles = authStore.userRole
// const roles = ['admisi']
return roles.some((role: string) => roleAccess[role]?.includes(permission))
return roles.some((role: string) => roleAccess[role]?.includes(permission) || role === 'system') // system by-passes this check
}
const getUserPermissions = (roleAccess: RoleAccess, _userRoles?: string[]): Permission[] => {
@@ -23,7 +22,7 @@ export function useRBAC() {
// const roles = ['admisi']
const permissions = new Set<Permission>()
roles.forEach((role) => {
roles.forEach((role: string) => {
if (roleAccess[role]) {
roleAccess[role].forEach((permission) => permissions.add(permission))
}
@@ -5,7 +5,7 @@ import { PAGE_PERMISSIONS } from '~/lib/page-permission'
definePageMeta({
middleware: ['rbac'],
roles: ['doctor', 'nurse', 'admisi', 'pharmacy', 'billing', 'management'],
roles: ['system', 'doctor', 'nurse', 'admisi', 'pharmacy', 'billing', 'management'],
title: 'Daftar Kunjungan',
contentFrame: 'cf-full-width',
})
+4 -1
View File
@@ -7,7 +7,10 @@ export const useUserStore = defineStore(
const isAuthenticated = computed(() => !!user.value)
const userRole = computed(() => {
const roles = user.value?.roles || []
return roles.map((v) => v.split('-')[1])
return roles.map((input: string) => {
const parts = input.split('-')
return parts.length > 1 ? parts[1]: parts[0]
})
})
const login = async (userData: any) => {