Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | 1x 1x 1x | import type { SystemRole } from './types' /** * Essential system role - always created by the plugin * This is the only hardcoded role as it's required for the system to function */ export const SUPER_ADMIN_ROLE: SystemRole = { name: 'super_admin', label: 'Super Administrator', permissions: ['*'], protected: true, active: true, description: 'Full system access - automatically assigned to first user', } /** * Public role for non-authenticated users * This role is automatically applied when no user is logged in */ export const PUBLIC_ROLE: SystemRole = { name: 'public', label: 'Public Access', permissions: ['*.read'], // Default permissions, can be overridden protected: true, active: true, description: 'Default permissions for non-authenticated users', visibleFor: [], // Not visible in UI for assignment } /** * Example role configurations that can be used in the plugin config * These are NOT automatically created - they must be explicitly configured */ export const EXAMPLE_ROLES = { admin: { name: 'admin', label: 'Administrator', permissions: [ // Backend users management (no role management) 'backend-users.read', 'backend-users.create', 'backend-users.update', 'backend-users.delete', // Frontend users management 'users.read', 'users.create', 'users.update', 'users.delete', // Media management 'media.read', 'media.create', 'media.update', 'media.delete', ], protected: false, active: true, description: 'Admin access without role management capabilities', }, editor: { name: 'editor', label: 'Editor', permissions: [ // Read-only for users 'backend-users.read', 'users.read', // Full media access 'media.read', 'media.create', 'media.update', 'media.delete', ], protected: false, active: true, description: 'Content editor with limited user access', }, user: { name: 'user', label: 'Frontend User', permissions: [ // Users can only manage their own profile (enforced at row level) 'users.read', 'users.update', // Media for profile pictures 'media.create', 'media.read', ], protected: false, active: true, description: 'Default role for frontend users - can manage own profile', }, } |