{
  "id": "enum-emancipationevidencestatus",
  "title": "Enum — EmancipationEvidenceStatus",
  "description": "Ciclo da prova privada de emancipação analisada pelo Setor de Estágio.",
  "type": "enum-reference",
  "status": "implemented",
  "visibility": "public",
  "tags": [
    "sge/enums",
    "sge/emancipacao"
  ],
  "related": [
    "migration-19a-emancipation-evidences"
  ],
  "sourceRefs": [
    "https://github.com/sge-suite/sge/blob/master/app/Enums/EmancipationEvidenceStatus.php",
    "https://github.com/sge-suite/sge/blob/master/tests/Unit/Enums/EmancipationEvidenceStatusTest.php"
  ],
  "authors": [],
  "updated": null,
  "diagram": null,
  "body": "> [!success] Estado\n> A classe e os testes unitários já existem em `app/Enums/EmancipationEvidenceStatus.php`. O cast em `EmancipationEvidence` e a coleção privada já existem; guardas de transição e autorização do acesso continuam planejadas.\n\n| Case | Valor | Rótulo |\n| --- | --- | --- |\n| `Submitted` | `submitted` | Enviada |\n| `UnderReview` | `under_review` | Em análise |\n| `Approved` | `approved` | Aprovada |\n| `Returned` | `returned` | Devolvida |\n| `Cancelled` | `cancelled` | Cancelada |\n\nO arquivo é enviado diretamente pelo formulário do SGE e fica em mídia privada vinculada a um registro desta tabela. Uma devolução exige motivo e não reabre o binário antigo. O discente envia uma nova prova ou troca a declaração para menor de idade; o registro anterior continua preservado. `Cancelled` é usado quando o ramo emancipado deixa de ser aplicável. O arquivo nunca entra no Activity Log.\n\n## Checklist\n\n- [x] Criar enum, rótulos, `values()` e `options()`.\n- [x] Cobrir cases, valores, rótulos e opções com teste unitário.\n- [x] Adicionar cast no Model.\n- [ ] Implementar guardas de transição e autorização da mídia.\n- [ ] Testar envio, devolução, nova evidência, aprovação e cancelamento no fluxo de domínio.",
  "sections": [
    {
      "id": "checklist",
      "level": 2,
      "title": "Checklist",
      "text": "- [x] Criar enum, rótulos, `values()` e `options()`. - [x] Cobrir cases, valores, rótulos e opções com teste unitário. - [x] Adicionar cast no Model. - [ ] Implementar guardas de transição e autorização da mídia. - [ ] Testar envio, devolução, nova evidência, aprovação e cancelamento no fluxo de domínio.",
      "line": 14
    }
  ],
  "sourcePath": "content/enum-emancipationevidencestatus.md",
  "visuals": [],
  "apiVersion": 1
}
