51 lines
1.7 KiB
TypeScript
51 lines
1.7 KiB
TypeScript
/**
|
|
* Granular Permission Constants
|
|
* Categorized by Action, View/Access, and Application Stage
|
|
*/
|
|
|
|
export const PERMISSION_CATEGORIES = {
|
|
ACTION: 'ACTION',
|
|
VIEW: 'VIEW',
|
|
STAGE: 'STAGE'
|
|
} as const;
|
|
|
|
export const PERMISSIONS = {
|
|
// Action Permissions
|
|
ACTION_APPROVE: 'action:approve',
|
|
ACTION_REJECT: 'action:reject',
|
|
ACTION_UPLOAD_DOCS: 'action:upload_docs',
|
|
ACTION_REQUEST_CHANGES: 'action:request_changes',
|
|
ACTION_FORWARD: 'action:forward',
|
|
ACTION_REASSIGN: 'action:reassign',
|
|
ACTION_SCHEDULE_INTERVIEW: 'action:schedule_interview',
|
|
ACTION_ADD_COMMENTS: 'action:add_comments',
|
|
ACTION_RANK_APPLICANTS: 'action:rank_applicants',
|
|
ACTION_FINAL_APPROVAL: 'action:final_approval',
|
|
|
|
// View/Access Permissions
|
|
VIEW_DETAILS: 'view:view_details',
|
|
VIEW_FINANCIAL: 'view:view_financial',
|
|
VIEW_DISCUSSIONS: 'view:view_discussions',
|
|
VIEW_PROGRESS: 'view:view_progress',
|
|
VIEW_AUDIT: 'view:view_audit',
|
|
VIEW_DOCUMENTS: 'view:view_documents',
|
|
VIEW_PERSONAL: 'view:view_personal',
|
|
VIEW_BUSINESS: 'view:view_business',
|
|
VIEW_REPORTS: 'view:view_reports',
|
|
VIEW_HISTORY: 'view:view_history',
|
|
|
|
// Application Stage Access
|
|
STAGE_INITIAL_REVIEW: 'stage:initial_review',
|
|
STAGE_FIELD_VERIFICATION: 'stage:field_verification',
|
|
STAGE_LEVEL1_INTERVIEW: 'stage:level1_interview',
|
|
STAGE_LEVEL2_INTERVIEW: 'stage:level2_interview',
|
|
STAGE_RANKING: 'stage:ranking',
|
|
STAGE_LEGAL_REVIEW: 'stage:legal_review',
|
|
STAGE_FINANCIAL_REVIEW: 'stage:financial_review',
|
|
STAGE_FINAL_APPROVAL: 'stage:final_approval',
|
|
STAGE_PAYMENT: 'stage:payment',
|
|
STAGE_ONBOARDING: 'stage:onboarding'
|
|
} as const;
|
|
|
|
export type PermissionCode = typeof PERMISSIONS[keyof typeof PERMISSIONS];
|