Files
agenciapsilmno/src/constants/roles.js
T

62 lines
1.5 KiB
JavaScript

/*
|--------------------------------------------------------------------------
| Agência PSI
|--------------------------------------------------------------------------
| Criado e desenvolvido por Leonardo Nohama
|
| Tecnologia aplicada à escuta.
| Estrutura para o cuidado.
|
| Arquivo: src/constants/roles.js
| Data: 2026
| Local: São Carlos/SP — Brasil
|--------------------------------------------------------------------------
| © 2026 — Todos os direitos reservados
|--------------------------------------------------------------------------
*/
/**
* Roles canônicas do sistema (tenant-level)
* Esses valores devem refletir exatamente o que existe no banco.
*/
export const ROLES = {
CLINIC_ADMIN: 'clinic_admin',
TENANT_ADMIN: 'tenant_admin', // legado (compatibilidade)
THERAPIST: 'therapist',
PATIENT: 'patient'
};
/**
* Retorna a rota base (home) de cada role.
* Usado após login, guards e redirecionamentos.
*/
export function roleToHome(role) {
switch (role) {
case ROLES.CLINIC_ADMIN:
case ROLES.TENANT_ADMIN: // compatibilidade
return '/admin';
case ROLES.THERAPIST:
return '/therapist';
case ROLES.PATIENT:
return '/portal';
default:
return '/';
}
}
/**
* Lista todas as roles válidas
* Útil para validações e guards
*/
export const ALL_ROLES = Object.values(ROLES);
/**
* Verifica se uma role é válida
*/
export function isValidRole(role) {
return ALL_ROLES.includes(role);
}