306 lines
12 KiB
JavaScript
306 lines
12 KiB
JavaScript
// /src/constants/permissions.js
|
|
// Mirrors the backend constants/permissions.js
|
|
|
|
export const 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_CREATE: 'professors:create',
|
|
PROFESSORS_READ: 'professors:read',
|
|
PROFESSORS_UPDATE: 'professors:update',
|
|
PROFESSORS_DELETE: 'professors:delete',
|
|
PROFESSORS_SEARCH: 'professors:search',
|
|
|
|
COURSES_CREATE: 'courses:create',
|
|
COURSES_READ: 'courses:read',
|
|
COURSES_UPDATE: 'courses:update',
|
|
COURSES_DELETE: 'courses:delete',
|
|
COURSES_SEARCH: 'courses:search',
|
|
|
|
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_CREATE: 'sessions:create',
|
|
SESSIONS_READ: 'sessions:read',
|
|
SESSIONS_UPDATE: 'sessions:update',
|
|
SESSIONS_DELETE: 'sessions:delete',
|
|
SESSIONS_SEARCH: 'sessions:search',
|
|
SESSIONS_ATTENDANCE: 'sessions:attendance',
|
|
|
|
PAYMENTS_CREATE: 'payments:create',
|
|
PAYMENTS_READ: 'payments:read',
|
|
PAYMENTS_UPDATE: 'payments:update',
|
|
PAYMENTS_DELETE: 'payments:delete',
|
|
PAYMENTS_SEARCH: 'payments:search',
|
|
|
|
ROLES_CREATE: 'roles:create',
|
|
ROLES_READ: 'roles:read',
|
|
ROLES_UPDATE: 'roles:update',
|
|
ROLES_DELETE: 'roles:delete',
|
|
ROLES_SEARCH: 'roles:search',
|
|
|
|
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_CREATE: 'certificates:create',
|
|
CERTIFICATES_READ: 'certificates:read',
|
|
CERTIFICATES_UPDATE: 'certificates:update',
|
|
CERTIFICATES_DELETE: 'certificates:delete',
|
|
CERTIFICATES_SEARCH: 'certificates:search',
|
|
|
|
DOCUMENTS_CREATE: 'documents:create',
|
|
DOCUMENTS_READ: 'documents:read',
|
|
DOCUMENTS_UPDATE: 'documents:update',
|
|
DOCUMENTS_DELETE: 'documents:delete',
|
|
DOCUMENTS_SEARCH: 'documents:search',
|
|
|
|
FILES_UPLOAD: 'files:upload',
|
|
FILES_READ: 'files:read',
|
|
FILES_DELETE: 'files:delete',
|
|
|
|
LOGS_READ: 'logs:read',
|
|
LOGS_SEARCH: 'logs:search',
|
|
|
|
CONTACT_INQUIRIES_READ: 'contact_inquiries:read',
|
|
CONTACT_INQUIRIES_UPDATE: 'contact_inquiries:update',
|
|
|
|
PENDING_STUDENTS_READ: 'pending_students:read',
|
|
PENDING_STUDENTS_UPDATE: 'pending_students:update',
|
|
|
|
EXPENSES_CREATE: 'expenses:create',
|
|
EXPENSES_READ: 'expenses:read',
|
|
EXPENSES_UPDATE: 'expenses:update',
|
|
EXPENSES_DELETE: 'expenses:delete',
|
|
|
|
FINANCIAL_REPORTS_READ: 'financial_reports:read',
|
|
|
|
WAITLIST_CREATE: 'waitlist:create',
|
|
WAITLIST_READ: 'waitlist:read',
|
|
WAITLIST_UPDATE: 'waitlist:update',
|
|
WAITLIST_DELETE: 'waitlist:delete',
|
|
|
|
EMPLOYEE_TIMINGS_CREATE: 'employee_timings:create',
|
|
EMPLOYEE_TIMINGS_READ: 'employee_timings:read',
|
|
EMPLOYEE_TIMINGS_UPDATE: 'employee_timings:update',
|
|
EMPLOYEE_TIMINGS_DELETE: 'employee_timings:delete'
|
|
};
|
|
|
|
export const PERMISSION_GROUPS = [
|
|
{
|
|
key: 'users',
|
|
label: 'مدیریت کاربران',
|
|
icon: 'pi pi-users',
|
|
permissions: [
|
|
{ key: PERMISSIONS.USERS_CREATE, label: 'ایجاد کاربر' },
|
|
{ key: PERMISSIONS.USERS_READ, label: 'مشاهده کاربران' },
|
|
{ key: PERMISSIONS.USERS_UPDATE, label: 'ویرایش کاربر' },
|
|
{ key: PERMISSIONS.USERS_DELETE, label: 'حذف کاربر' },
|
|
{ key: PERMISSIONS.USERS_SEARCH, label: 'جستجوی کاربران' },
|
|
{ key: PERMISSIONS.USERS_ENROLL, label: 'ثبتنام کاربر در دوره' }
|
|
]
|
|
},
|
|
{
|
|
key: 'employee_timings',
|
|
label: 'تردد و ساعت کارمندان',
|
|
icon: 'pi pi-clock',
|
|
permissions: [
|
|
{ key: PERMISSIONS.EMPLOYEE_TIMINGS_CREATE, label: 'ثبت تردد جدید' },
|
|
{ key: PERMISSIONS.EMPLOYEE_TIMINGS_READ, label: 'مشاهده تردد کارمندان' },
|
|
{ key: PERMISSIONS.EMPLOYEE_TIMINGS_UPDATE, label: 'ویرایش تردد' },
|
|
{ key: PERMISSIONS.EMPLOYEE_TIMINGS_DELETE, label: 'حذف تردد' }
|
|
]
|
|
},
|
|
{
|
|
key: 'professors',
|
|
label: 'مدیریت اساتید',
|
|
icon: 'pi pi-id-card',
|
|
permissions: [
|
|
{ key: PERMISSIONS.PROFESSORS_CREATE, label: 'ایجاد استاد' },
|
|
{ key: PERMISSIONS.PROFESSORS_READ, label: 'مشاهده اساتید' },
|
|
{ key: PERMISSIONS.PROFESSORS_UPDATE, label: 'ویرایش استاد' },
|
|
{ key: PERMISSIONS.PROFESSORS_DELETE, label: 'حذف استاد' },
|
|
{ key: PERMISSIONS.PROFESSORS_SEARCH, label: 'جستجوی اساتید' }
|
|
]
|
|
},
|
|
{
|
|
key: 'courses',
|
|
label: 'دورههای آموزشی',
|
|
icon: 'pi pi-book',
|
|
permissions: [
|
|
{ key: PERMISSIONS.COURSES_CREATE, label: 'ایجاد دوره' },
|
|
{ key: PERMISSIONS.COURSES_READ, label: 'مشاهده دورهها' },
|
|
{ key: PERMISSIONS.COURSES_UPDATE, label: 'ویرایش دوره' },
|
|
{ key: PERMISSIONS.COURSES_DELETE, label: 'حذف دوره' },
|
|
{ key: PERMISSIONS.COURSES_SEARCH, label: 'جستجوی دورهها' }
|
|
]
|
|
},
|
|
{
|
|
key: 'classes',
|
|
label: 'کلاسها',
|
|
icon: 'pi pi-desktop',
|
|
permissions: [
|
|
{ key: PERMISSIONS.CLASSES_CREATE, label: 'ایجاد کلاس' },
|
|
{ key: PERMISSIONS.CLASSES_READ, label: 'مشاهده کلاسها' },
|
|
{ key: PERMISSIONS.CLASSES_UPDATE, label: 'ویرایش کلاس' },
|
|
{ key: PERMISSIONS.CLASSES_DELETE, label: 'حذف کلاس' },
|
|
{ key: PERMISSIONS.CLASSES_SEARCH, label: 'جستجوی کلاسها' },
|
|
{ key: PERMISSIONS.CLASSES_REGISTER_USERS, label: 'ثبتنام کاربران در کلاس' }
|
|
]
|
|
},
|
|
{
|
|
key: 'waitlist',
|
|
label: 'لیست انتظار',
|
|
icon: 'pi pi-clock',
|
|
permissions: [
|
|
{ key: PERMISSIONS.WAITLIST_CREATE, label: 'افزودن به لیست انتظار' },
|
|
{ key: PERMISSIONS.WAITLIST_READ, label: 'مشاهده لیست انتظار' },
|
|
{ key: PERMISSIONS.WAITLIST_UPDATE, label: 'ویرایش / انتقال به کلاس' },
|
|
{ key: PERMISSIONS.WAITLIST_DELETE, label: 'حذف از لیست انتظار' }
|
|
]
|
|
},
|
|
{
|
|
key: 'sessions',
|
|
label: 'جلسات آموزشی',
|
|
icon: 'pi pi-calendar',
|
|
permissions: [
|
|
{ key: PERMISSIONS.SESSIONS_CREATE, label: 'ایجاد جلسه' },
|
|
{ key: PERMISSIONS.SESSIONS_READ, label: 'مشاهده جلسات' },
|
|
{ key: PERMISSIONS.SESSIONS_UPDATE, label: 'ویرایش جلسه' },
|
|
{ key: PERMISSIONS.SESSIONS_DELETE, label: 'حذف جلسه' },
|
|
{ key: PERMISSIONS.SESSIONS_SEARCH, label: 'جستجوی جلسات' },
|
|
{ key: PERMISSIONS.SESSIONS_ATTENDANCE, label: 'ثبت حضور و غیاب' }
|
|
]
|
|
},
|
|
{
|
|
key: 'payments',
|
|
label: 'امور مالی و پرداختها',
|
|
icon: 'pi pi-wallet',
|
|
permissions: [
|
|
{ key: PERMISSIONS.PAYMENTS_CREATE, label: 'ایجاد صورتحساب' },
|
|
{ key: PERMISSIONS.PAYMENTS_READ, label: 'مشاهده پرداختها' },
|
|
{ key: PERMISSIONS.PAYMENTS_UPDATE, label: 'ویرایش / ثبت تراکنش' },
|
|
{ key: PERMISSIONS.PAYMENTS_DELETE, label: 'حذف صورتحساب' },
|
|
{ key: PERMISSIONS.PAYMENTS_SEARCH, label: 'جستجوی پرداختها' }
|
|
]
|
|
},
|
|
{
|
|
key: 'roles',
|
|
label: 'نقشها و دسترسیها',
|
|
icon: 'pi pi-shield',
|
|
permissions: [
|
|
{ key: PERMISSIONS.ROLES_CREATE, label: 'ایجاد نقش' },
|
|
{ key: PERMISSIONS.ROLES_READ, label: 'مشاهده نقشها' },
|
|
{ key: PERMISSIONS.ROLES_UPDATE, label: 'ویرایش نقش' },
|
|
{ key: PERMISSIONS.ROLES_DELETE, label: 'حذف نقش' },
|
|
{ key: PERMISSIONS.ROLES_SEARCH, label: 'جستجوی نقشها' }
|
|
]
|
|
},
|
|
{
|
|
key: 'notifications',
|
|
label: 'اطلاعیهها و پیامرسانی',
|
|
icon: 'pi pi-bell',
|
|
permissions: [
|
|
{ key: PERMISSIONS.NOTIFICATIONS_CREATE, label: 'ارسال اطلاعیه' },
|
|
{ key: PERMISSIONS.NOTIFICATIONS_READ, label: 'مشاهده اطلاعیهها' },
|
|
{ key: PERMISSIONS.NOTIFICATIONS_UPDATE, label: 'ویرایش اطلاعیه' },
|
|
{ key: PERMISSIONS.NOTIFICATIONS_DELETE, label: 'حذف اطلاعیه' },
|
|
{ key: PERMISSIONS.NOTIFICATIONS_SEARCH, label: 'جستجوی اطلاعیهها' },
|
|
{ key: PERMISSIONS.NOTIFICATIONS_RETRY, label: 'ارسال مجدد اطلاعیه' }
|
|
]
|
|
},
|
|
{
|
|
key: 'certificates',
|
|
label: 'گواهینامهها',
|
|
icon: 'pi pi-verified',
|
|
permissions: [
|
|
{ key: PERMISSIONS.CERTIFICATES_CREATE, label: 'صدور گواهینامه' },
|
|
{ key: PERMISSIONS.CERTIFICATES_READ, label: 'مشاهده گواهینامهها' },
|
|
{ key: PERMISSIONS.CERTIFICATES_UPDATE, label: 'ویرایش گواهینامه' },
|
|
{ key: PERMISSIONS.CERTIFICATES_DELETE, label: 'حذف گواهینامه' },
|
|
{ key: PERMISSIONS.CERTIFICATES_SEARCH, label: 'جستجوی گواهینامهها' }
|
|
]
|
|
},
|
|
{
|
|
key: 'documents',
|
|
label: 'اسناد و مدارک',
|
|
icon: 'pi pi-file',
|
|
permissions: [
|
|
{ key: PERMISSIONS.DOCUMENTS_CREATE, label: 'ایجاد سند' },
|
|
{ key: PERMISSIONS.DOCUMENTS_READ, label: 'مشاهده اسناد' },
|
|
{ key: PERMISSIONS.DOCUMENTS_UPDATE, label: 'ویرایش سند' },
|
|
{ key: PERMISSIONS.DOCUMENTS_DELETE, label: 'حذف سند' },
|
|
{ key: PERMISSIONS.DOCUMENTS_SEARCH, label: 'جستجوی اسناد' }
|
|
]
|
|
},
|
|
{
|
|
key: 'files',
|
|
label: 'مدیریت فایلها',
|
|
icon: 'pi pi-folder',
|
|
permissions: [
|
|
{ key: PERMISSIONS.FILES_UPLOAD, label: 'آپلود فایل' },
|
|
{ key: PERMISSIONS.FILES_READ, label: 'مشاهده فایلها' },
|
|
{ key: PERMISSIONS.FILES_DELETE, label: 'حذف فایل' }
|
|
]
|
|
},
|
|
{
|
|
key: 'logs',
|
|
label: 'گزارش فعالیتها',
|
|
icon: 'pi pi-history',
|
|
permissions: [
|
|
{ key: PERMISSIONS.LOGS_READ, label: 'مشاهده لاگها' },
|
|
{ key: PERMISSIONS.LOGS_SEARCH, label: 'جستجوی لاگها' }
|
|
]
|
|
},
|
|
{
|
|
key: 'contact_inquiries',
|
|
label: 'درخواستهای تماس',
|
|
icon: 'pi pi-comments',
|
|
permissions: [
|
|
{ key: PERMISSIONS.CONTACT_INQUIRIES_READ, label: 'مشاهده درخواستها' },
|
|
{ key: PERMISSIONS.CONTACT_INQUIRIES_UPDATE, label: 'ویرایش / پیگیری درخواستها' }
|
|
]
|
|
},
|
|
{
|
|
key: 'pending_students',
|
|
label: 'ثبتنامهای در انتظار',
|
|
icon: 'pi pi-user-plus',
|
|
permissions: [
|
|
{ key: PERMISSIONS.PENDING_STUDENTS_READ, label: 'مشاهده ثبتنامهای در انتظار' },
|
|
{ key: PERMISSIONS.PENDING_STUDENTS_UPDATE, label: 'تأیید / رد ثبتنام' }
|
|
]
|
|
},
|
|
{
|
|
key: 'expenses',
|
|
label: 'هزینههای موسسه',
|
|
icon: 'pi pi-money-bill',
|
|
permissions: [
|
|
{ key: PERMISSIONS.EXPENSES_CREATE, label: 'ثبت هزینه' },
|
|
{ key: PERMISSIONS.EXPENSES_READ, label: 'مشاهده هزینهها' },
|
|
{ key: PERMISSIONS.EXPENSES_UPDATE, label: 'ویرایش هزینه' },
|
|
{ key: PERMISSIONS.EXPENSES_DELETE, label: 'حذف هزینه' }
|
|
]
|
|
},
|
|
{
|
|
key: 'financial_reports',
|
|
label: 'گزارشهای مالی',
|
|
icon: 'pi pi-chart-line',
|
|
permissions: [
|
|
{ key: PERMISSIONS.FINANCIAL_REPORTS_READ, label: 'مشاهده گزارشهای مالی' }
|
|
]
|
|
}
|
|
];
|
|
|
|
export const ALL_PERMISSIONS = Object.values(PERMISSIONS);
|