RouteApproval registra a análise que permite uma rota sair de PENDING_APPROVAL e se tornar operacional. A rota nasce pendente de aprovação e só muda para ativa após aprovação.
Campos
| Campo | Tipo | Descrição |
|---|---|---|
routeApprovalId | UUID | Identificador único |
routeId | UUID | Rota analisada |
requestedBy | UUID | Usuário que solicitou ou criou a rota para análise |
reviewedBy | UUID? | Usuário que aprovou ou rejeitou a rota |
status | RouteApprovalStatus | Status da análise |
rejectionReason | String? | Motivo da rejeição, quando aplicável |
requestedAt | DateTime | Data de solicitação de análise |
reviewedAt | DateTime? | Data da aprovação ou rejeição |
createdBy | UUID? | Usuário que criou o registro, quando aplicável |
createdAt | DateTime | Data de criação |
updatedBy | UUID? | Usuário que fez a última atualização, quando aplicável |
updatedAt | DateTime | Data da última atualização |
Relacionamentos
Regras de Negócio
- Uma rota nova nasce como
Route.status = PENDING_APPROVAL. - Aprovar a análise muda a rota para
ACTIVE. - Rejeitar a análise mantém a rota fora de uso operacional.
rejectionReasoné obrigatório quandostatus = REJECTED.- A permission de aprovação é tratada no domínio de Authorization.
- O histórico de análises deve ser preservado.
Enums
RouteApprovalStatus
| Valor | Descrição |
|---|---|
PENDING | Análise pendente |
APPROVED | Rota aprovada |
REJECTED | Rota rejeitada |