Files
template-nuxtsim/stores/sidebarMenuAkses/useMenuAksesStore.ts

36 lines
889 B
TypeScript

import { defineStore } from 'pinia'
import type { PageAccess, minisidebar } from '@/types/menuAkses/access'
export const useHakAksesStore = defineStore('hakAksesMenu', {
state: () => ({
role: '',
pageAccess: [] as PageAccess[], //Array halaman dari backend
iconItem: [] as minisidebar[],
mergedSidebar: [],
permissionPage: [] //hasil merge halaman dengan permissions
}),
actions: {
setAccess(payload: { role: string; pages: PageAccess[]; icons: minisidebar[] }) {
this.role = payload.role
this.pageAccess = payload.pages
this.iconItem = payload.icons
},
resetAccess() {
this.role = ''
this.pageAccess = []
},
setMergedSidebar(sidebar: any) {
this.mergedSidebar = sidebar
},
setPermissionPage(permission: any) {
this.permissionPage = permission
},
}
})