// teach: centrale permissiematrix voor de 4 vaste rollen (super/admin/teacher/pupil). // Gespiegeld in public/js/permissions.js (geen bundler in dit project, dus twee // bestanden die dezelfde waarden hand-in-hand bijhouden). Dit is geen database- // gestuurd/rechten-per-gebruiker-configureerbaar systeem, maar één benoemde bron // i.p.v. dezelfde rol-arrays los verspreid over de routes. export const PERMISSIONS = { 'admin.access': ['super', 'admin', 'teacher'], 'password.own.change': ['super', 'admin', 'teacher'], 'schools.manage': ['super'], 'schools.resetPasswords': ['super', 'admin'], 'classes.view': ['super', 'admin', 'teacher'], 'classes.manage': ['super', 'admin'], 'users.manage': ['super', 'admin', 'teacher'], 'users.staffCredentials': ['super', 'admin'], 'users.genpw': ['super', 'admin', 'teacher'], 'users.role.change': ['super'], }; // Welke rol een account met welke rol mag aanmaken. export const CREATABLE_ROLES = { super: ['super', 'admin', 'teacher', 'pupil'], admin: ['admin', 'teacher', 'pupil'], teacher: ['pupil'], }; export const can = (role, action) => (PERMISSIONS[action] || []).includes(role);