// /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);