feat: complete administration and reporting

This commit is contained in:
2026-08-04 17:40:52 +01:00
parent d829f34580
commit 7a4ac48aaf
42 changed files with 2595 additions and 76 deletions

View File

@@ -35,6 +35,13 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
- Associação do utilizador local ao ID Snipe-IT confirmada durante a entrega.
- Bloqueios temporais de equipamento criados a partir de incidentes e considerados pelo motor de disponibilidade.
- Tratamento e auditoria de falhas parciais em movimentos com vários equipamentos.
- Gestão administrativa de utilizadores, perfis, estado, departamento, associação Snipe-IT e palavra-passe.
- Regras de reserva editáveis com antecedência, duração, margem, prazo de aprovação e limite de equipamentos.
- Buffers temporais por item e restrição GiST atualizada para garantir margens também sob concorrência.
- Calendário global com identificação do requisitante e autorização por perfil.
- Relatórios operacionais, métricas por dimensão e exportação CSV detalhada.
- Consulta de auditoria filtrável e paginada para administradores e auditores.
- Modelos editáveis para email e notificações internas com variáveis funcionais.
### Alterado
@@ -45,12 +52,16 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
- SSR de desenvolvimento ligado internamente de PHP para o serviço `node`, com o hostname Docker autorizado no Vite.
- Catálogo sem período passa a distinguir equipamentos apenas requisitáveis; quando um período é selecionado, apresenta exclusivamente equipamentos livres nesse intervalo.
- Máquina de estados passa a admitir incidentes durante preparação/utilização, atrasos e resolução por devolução.
- Formulário de requisição apresenta as políticas atuais e o serviço de domínio volta a validá-las antes da transação.
- Notificações passam a obter assunto e mensagem dos modelos administrativos, preservando defaults seguros.
### Segurança
- Registo público desativado.
- Variáveis para tokens Snipe-IT separados e credenciais Entra ID documentadas sem valores.
- Rotas operacionais protegidas por Gate e verificação de perfil também no serviço de domínio; escritas externas não fazem retry automático.
- Exportação CSV neutraliza células iniciadas por caracteres de fórmula e limita cada relatório a 366 dias.
- Gestão administrativa impede auto-desativação e garante pelo menos um administrador ativo.
### Verificado
@@ -65,3 +76,4 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
- Builds Vite cliente e SSR com as páginas de disponibilidade, cancelamento e calendário concluídos.
- Migration da caixa interna de notificações aplicada em PostgreSQL 17.
- Fluxo operacional: autorização, checkout/check-in, entrega parcial, auditoria, incidentes e bloqueios validados com API Snipe-IT simulada.
- Administração: utilizadores, políticas, buffers, calendário global, relatórios, CSV, auditoria e modelos de notificação validados por testes funcionais.