enum-reference · implemented
Enum — PartyDocumentType
Tipo de documento de identificação da parte concedente.
Contrato
| Case | Valor persistido | Rótulo |
|---|---|---|
CPF | cpf | CPF |
CNPJ | cnpj | CNPJ |
O número é armazenado em granting_parties.document_number e granting_party_registration_requests.document_number, sempre normalizado e sem pontuação. Não criar colunas separadas para CPF e CNPJ.
Checklist de implementação
- Criar enum string e rótulos no código.
- Implementar
options()evalues(). - Cobrir cases, valores, rótulos e opções com teste unitário.
- Adicionar cast em
GrantingParty. - Usar o enum no model vinculado à migration de granting_parties.
- Validar dígitos e normalização de CPF/CNPJ no model.
- Testar os dois tipos e documentos inválidos na base backend.
- Permitir unidades distintas com o mesmo CNPJ, sem unicidade global.