Files
bio_frontend/composables/usePermission.ts

40 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

2025-09-23 14:15:32 +09:00
/**
*
*
*/
export const usePermission = () => {
const permissionsStore = usePermissionsStore();
return {
// 페이지 권한 체크
hasPagePermission: (page: string) =>
permissionsStore.hasPagePermission(page),
2025-09-23 15:21:00 +09:00
// 페이지그룹 권한 체크
hasPageGroupPermission: (pageGroup: string) =>
permissionsStore.hasPageGroupPermission(pageGroup),
2025-09-23 14:15:32 +09:00
// 컴포넌트 권한 체크
hasComponentPermission: (component: string) =>
permissionsStore.hasComponentPermission(component),
// 권한 데이터 직접 접근
permissions: computed(() => permissionsStore.permissions),
resources: computed(() => permissionsStore.permissions?.resources),
// 리소스별 전체 접근 함수
getPageGroups: () =>
permissionsStore.permissions?.resources?.pageGroups || [],
getPages: () => permissionsStore.permissions?.resources?.pages || [],
getComponents: () =>
permissionsStore.permissions?.resources?.components || [],
// 코드로 리소스 찾기
getResourceByCode: (code: string) => {
const components =
permissionsStore.permissions?.resources?.components || [];
return components.find(component => component.code === code);
},
2025-09-23 14:15:32 +09:00
};
};