62 lines
1.5 KiB
JavaScript
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);
|
|
}
|