reference-hub · in-progress
Enums
Índice dos enums do SGE, com status de implementação, valores persistidos e checklists individuais.
Painel
| Status | Enum | Onde é usado |
|---|---|---|
| ✅ Implementado | Enum — AffiliationType | affiliations.type |
| ✅ Implementado | Enum — BrazilianState | cities.state, endereços, campi e calendários |
| ✅ Implementado | Enum — HolidayScope | holidays.scope |
| ✅ Implementado | Enum — EmailMessagePurpose | email_messages.purpose |
| ✅ Implementado | Enum — EmailDeliveryAttemptStatus | email_delivery_attempts.status |
| ✅ Implementado | Enum — InternshipRequestStatus | internship_requests.status |
| ✅ Implementado | Enum — LegalCapacityDeclaration | internship_requests.legal_capacity_declaration |
| ✅ Implementado | Enum — InternshipRequestCorrectionStatus | internship_request_corrections.status |
| ✅ Implementado | Enum — InternshipStatus | internships.status |
| ✅ Implementado | Enum — PartyDocumentType | granting_parties.document_type |
| ✅ Implementado | Enum — GeneratedDocumentType | generated_documents.type |
| ✅ Implementado | Enum — GeneratedDocumentStatus | generated_documents.status |
| ✅ Implementado | Enum — GeneratedDocumentOrigin | generated_documents.origin |
| ✅ Implementado | Enum — EvaluationStatus | supervisor_evaluations.status |
| ✅ Implementado | EvaluationConcept | opções de conceitos da avaliação, com rótulos em português. |
| ✅ Implementado | Enum — RegistrationRequestStatus | solicitações de cadastro pendente |
| ✅ Implementado | Enum — InternshipCancellationRequestStatus | internship_cancellation_requests.status |
| ✅ Implementado | Enum — EmancipationEvidenceStatus | emancipation_evidences.status |
Checklist do catálogo
Neste índice, Implementado significa que a classe do enum e seus testes unitários já existem. O uso em Models, migrations, Policies e fluxos de domínio continua indicado no checklist individual.
- Confirmar cada enum contra a regra de negócio aprovada.
- Manter valores persistidos em inglês e
snake_case. - Manter rótulos de interface nas traduções/
label(), sem persistir texto exibido. - Adicionar teste para todos os cases,
values()eoptions()quando esses métodos existirem. - Atualizar a migration que usa o enum e o painel de desenvolvimento.
- Não criar enum para permissões, templates, campus ou vínculos desativados quando a regra já for atendida por Policy, versão ou timestamp.
O que não é enum agora
CampusStatus: usardeactivated_at.AffiliationStatus: usardeactivated_at.TemplateStatus: usar versões eactivated_at/deactivated_at.- Autorização: implementar a matriz institucional em Policies/Gates, a partir de
AffiliationTypee do vínculo ativo; ela não é configurável em tempo de execução. - Variáveis de template: usar catálogo fixo em português com
${variavel}. - Motivo/origem de jornada e fonte do calendário: strings auditadas; não são conjuntos fechados.
- Aditivos: usar
GeneratedDocumentType::Addendum. - Feriados: usar calendário nacional, estadual e municipal persistido, aplicável pela cidade/UF do endereço histórico do local de trabalho; exceções de um estágio ficam em
internship_calendar_overrides.