123 lines
3.7 KiB
JavaScript
123 lines
3.7 KiB
JavaScript
// /constants/permissions.js
|
|
|
|
const PERMISSIONS = {
|
|
// Users permissions
|
|
USERS_CREATE: 'users:create',
|
|
USERS_READ: 'users:read',
|
|
USERS_UPDATE: 'users:update',
|
|
USERS_DELETE: 'users:delete',
|
|
USERS_SEARCH: 'users:search',
|
|
USERS_ENROLL: 'users:enroll',
|
|
|
|
// Professors permissions
|
|
PROFESSORS_CREATE: 'professors:create',
|
|
PROFESSORS_READ: 'professors:read',
|
|
PROFESSORS_UPDATE: 'professors:update',
|
|
PROFESSORS_DELETE: 'professors:delete',
|
|
PROFESSORS_SEARCH: 'professors:search',
|
|
|
|
// Courses permissions
|
|
COURSES_CREATE: 'courses:create',
|
|
COURSES_READ: 'courses:read',
|
|
COURSES_UPDATE: 'courses:update',
|
|
COURSES_DELETE: 'courses:delete',
|
|
COURSES_SEARCH: 'courses:search',
|
|
|
|
// Classes permissions
|
|
CLASSES_CREATE: 'classes:create',
|
|
CLASSES_READ: 'classes:read',
|
|
CLASSES_UPDATE: 'classes:update',
|
|
CLASSES_DELETE: 'classes:delete',
|
|
CLASSES_SEARCH: 'classes:search',
|
|
CLASSES_REGISTER_USERS: 'classes:register_users',
|
|
|
|
// Sessions permissions
|
|
SESSIONS_CREATE: 'sessions:create',
|
|
SESSIONS_READ: 'sessions:read',
|
|
SESSIONS_UPDATE: 'sessions:update',
|
|
SESSIONS_DELETE: 'sessions:delete',
|
|
SESSIONS_SEARCH: 'sessions:search',
|
|
SESSIONS_ATTENDANCE: 'sessions:attendance',
|
|
|
|
// Payments permissions
|
|
PAYMENTS_CREATE: 'payments:create',
|
|
PAYMENTS_READ: 'payments:read',
|
|
PAYMENTS_UPDATE: 'payments:update',
|
|
PAYMENTS_DELETE: 'payments:delete',
|
|
PAYMENTS_SEARCH: 'payments:search',
|
|
|
|
// Roles permissions
|
|
ROLES_CREATE: 'roles:create',
|
|
ROLES_READ: 'roles:read',
|
|
ROLES_UPDATE: 'roles:update',
|
|
ROLES_DELETE: 'roles:delete',
|
|
ROLES_SEARCH: 'roles:search',
|
|
|
|
// Notifications permissions
|
|
NOTIFICATIONS_CREATE: 'notifications:create',
|
|
NOTIFICATIONS_READ: 'notifications:read',
|
|
NOTIFICATIONS_UPDATE: 'notifications:update',
|
|
NOTIFICATIONS_DELETE: 'notifications:delete',
|
|
NOTIFICATIONS_SEARCH: 'notifications:search',
|
|
NOTIFICATIONS_RETRY: 'notifications:retry',
|
|
|
|
// Certificates permissions
|
|
CERTIFICATES_CREATE: 'certificates:create',
|
|
CERTIFICATES_READ: 'certificates:read',
|
|
CERTIFICATES_UPDATE: 'certificates:update',
|
|
CERTIFICATES_DELETE: 'certificates:delete',
|
|
CERTIFICATES_SEARCH: 'certificates:search',
|
|
|
|
// Documents permissions (private user documents)
|
|
DOCUMENTS_CREATE: 'documents:create',
|
|
DOCUMENTS_READ: 'documents:read',
|
|
DOCUMENTS_UPDATE: 'documents:update',
|
|
DOCUMENTS_DELETE: 'documents:delete',
|
|
DOCUMENTS_SEARCH: 'documents:search',
|
|
|
|
// Files permissions
|
|
FILES_UPLOAD: 'files:upload',
|
|
FILES_READ: 'files:read',
|
|
FILES_DELETE: 'files:delete',
|
|
|
|
// Activity logs permissions
|
|
LOGS_READ: 'logs:read',
|
|
LOGS_SEARCH: 'logs:search',
|
|
|
|
// Contact inquiries (website form)
|
|
CONTACT_INQUIRIES_READ: 'contact_inquiries:read',
|
|
CONTACT_INQUIRIES_UPDATE: 'contact_inquiries:update',
|
|
|
|
// Pending student registrations
|
|
PENDING_STUDENTS_READ: 'pending_students:read',
|
|
PENDING_STUDENTS_UPDATE: 'pending_students:update',
|
|
|
|
// Institutional expenses (used for financial reporting)
|
|
EXPENSES_CREATE: 'expenses:create',
|
|
EXPENSES_READ: 'expenses:read',
|
|
EXPENSES_UPDATE: 'expenses:update',
|
|
EXPENSES_DELETE: 'expenses:delete',
|
|
|
|
// Financial reports (professor share, class profitability, date-range analytics)
|
|
FINANCIAL_REPORTS_READ: 'financial_reports:read',
|
|
|
|
// Waiting list permissions
|
|
WAITLIST_CREATE: 'waitlist:create',
|
|
WAITLIST_READ: 'waitlist:read',
|
|
WAITLIST_UPDATE: 'waitlist:update',
|
|
WAITLIST_DELETE: 'waitlist:delete',
|
|
|
|
// Employee timing / attendance permissions
|
|
EMPLOYEE_TIMINGS_CREATE: 'employee_timings:create',
|
|
EMPLOYEE_TIMINGS_READ: 'employee_timings:read',
|
|
EMPLOYEE_TIMINGS_UPDATE: 'employee_timings:update',
|
|
EMPLOYEE_TIMINGS_DELETE: 'employee_timings:delete'
|
|
};
|
|
|
|
const ALL_PERMISSIONS = Object.values(PERMISSIONS);
|
|
|
|
module.exports = {
|
|
PERMISSIONS,
|
|
ALL_PERMISSIONS
|
|
};
|