SGEProduto · Domínio · Desenvolvimento
Repositório

enum-reference · implemented

Enum — PartyDocumentType

Tipo de documento de identificação da parte concedente.

Contrato

CaseValor persistidoRótulo
CPFcpfCPF
CNPJcnpjCNPJ

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() e values().
  • 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.