Initial commit: admin dashboard for GameNo.
Vue 3 + Vite dashboard with PrimeVue, i18n, and API integration for institution management.
This commit is contained in:
@@ -0,0 +1,217 @@
|
||||
// /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',
|
||||
|
||||
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'
|
||||
};
|
||||
|
||||
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: '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: '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: '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: 'ویرایش / پیگیری درخواستها' }
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
export const ALL_PERMISSIONS = Object.values(PERMISSIONS);
|
||||
Reference in New Issue
Block a user