/*
|--------------------------------------------------------------------------
| 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);
}
