Files
gameno-api/constants/permissions.js
T
kavehhn cd98adff84 feat: add pending student registration flow and pricing APIs.
Support public class lookup, user provisioning, installment pricing, and admin approval before final enrollment.
2026-08-16 08:42:25 +03:30

102 lines
3.0 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'
};
const ALL_PERMISSIONS = Object.values(PERMISSIONS);
module.exports = {
PERMISSIONS,
ALL_PERMISSIONS
};