SGEProduto · Domínio · Desenvolvimento
Repositório

enum-reference · implemented

Enum — AffiliationType

Tipos funcionais permitidos para um vínculo institucional do SGE.

Contrato

Classifica o papel funcional de uma pessoa dentro de um vínculo. Não representa e-mail, campus, permissão isolada ou representante legal.

CaseValor persistidoRótulo
SystemAdministratorsystem_administratorAdministrador do Sistema
CampusAdministratorcampus_administratorAdministrador do Campus
InternshipOfficeinternship_officeSetor de Estágios
CoordinatorcoordinatorCoordenador de Curso
AdvisoradvisorOrientador
StudentstudentDiscente
SupervisorsupervisorSupervisor
TeachingDirectionteaching_directionDireção de Ensino

O representante legal e seu cargo são campos textuais de Campus, não são um vínculo nem um case de AffiliationType. Não criar LegalRepresentative.

Checklist de implementação

  • Criar enum string em App\Enums\AffiliationType.
  • Implementar label(), options() e values().
  • Adicionar cast do enum no Model Affiliation.
  • Usar o enum no cast e na validação de affiliations.
  • Cobrir todos os cases, rótulos e opções com testes unitários.
  • Aplicar as Policies ao Administrador do Sistema para gestão global e gestão de contas/vínculos administrativos.
  • Completar e testar as regras de escopo dos demais tipos nas Policies.
  • Confirmar que este enum, vínculo ativo, escopo e estado são a única fonte de autorização; as tabelas de permissões foram removidas.

Relacionamentos