feat: imagens por item de Validação Técnica (API, tela, DOCX e PDF) #82
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/validation-item-images"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
O que é
Prints de exame por item da Validação Técnica, pedido do fluxo de validação de cliente (qa-project/runner): cada item aceita várias imagens com legenda opcional, que aparecem na tela de edição e embutidas logo abaixo do item no DOCX e no PDF.
Contrato (detalhes em
docs/API.md)POST /api/technical-validation-items/{id}/images— JSON base64 (filename,content_type,data_base64,captionopcional), uma imagem por chamada.GET /api/technical-validation-items/{id}/images— lista; os itens deGET /api/technical-validations/{id}também trazemimages.PUT /api/images/{id}— editar/limpar legenda. Bytes e remoção reaproveitamGET/DELETE /api/images/{id}.413), PNG/JPEG/GIF/WebP (400), 20 por item (409na 21ª; teto novo, só para este caso).Detalhes
images(technical_validation_item_id+caption), a validação de assinatura e o Garage/BLOB existentes. Migration214c24985940(round-trip,alembic checke restore drill ok).ItemImages(miniatura, legenda salva ao sair do campo, remover com confirmação, colar/arrastar para enviar), conferido no navegador.BACKLOG.mdatualizado.Atenção ao merge
995241f5ea8d(head atual do develop). A PR #80 (metrics na run) também adiciona uma migration em cima dele: quem mergear depois precisa re-apontar odown_revisione os heads do CI/smoke test (aviso e eu faço o ajuste).Verificação
tsclimpo, lint sem erros, 168 testes (5 novos), build ok.🤖 Generated with Claude Code
Itens aceitam varias imagens com legenda opcional (POST/GET /api/technical-validation-items/{id}/images, PUT /api/images/{id}); aparecem na tela de edicao e embutidas abaixo do item nos exports. Limites: 10 MiB, PNG/JPEG/GIF/WebP, 20 por item. Reaproveita a tabela images (migration 214c24985940). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>