feat: add Snipe-IT asset synchronization

This commit is contained in:
2026-08-04 16:15:09 +01:00
parent 604180b735
commit 077015f17a
37 changed files with 1302 additions and 26 deletions

View File

@@ -14,6 +14,10 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
- Dashboard, catálogo filtrável, formulário de requisição multi-equipamento e histórico pessoal.
- Seeders com perfis, ativos fictícios e contas de demonstração.
- Documentação de arquitetura, requisitos, decisões, operação, estado e handoff.
- Cliente de leitura Snipe-IT com autenticação Bearer, paginação, timeout, retries seletivos, DTOs e mapper defensivo.
- Sincronização horária e manual de equipamentos, job único, lock distribuído, histórico de execuções e desativação segura de ausentes.
- Área administrativa de diagnóstico Snipe-IT com teste de conectividade, métricas do cache e histórico de sincronizações.
- Autorização administrativa através de Gate e navegação condicional por perfil.
### Alterado
@@ -31,7 +35,9 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
### Verificado
- Migrations e seeders executados em PostgreSQL 17 real.
- Suite backend: Pint, PHPStan nível 7 e 44 testes Pest (157 asserções).
- Suite backend: Pint, PHPStan nível 7 e 53 testes Pest (201 asserções).
- Frontend: TypeScript, ESLint, Prettier e build Vite de produção.
- Stack Docker operacional e endpoint de login acessível através do Nginx.
- Renderização SSR real do login validada, incluindo o conteúdo “Entrar no Portal de Reservas”.
- API Snipe-IT simulada em testes: paginação, headers, retry, erro em HTTP 200, falha parcial, idempotência e desativação de ausentes.
- Migration `last_seen_sync_run_id` aplicada em PostgreSQL 17.