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

@@ -50,6 +50,36 @@ docker compose exec app php artisan optimize:clear
docker compose restart queue scheduler
```
## Integração Snipe-IT
Definir no ambiente, sem colocar tokens no repositório:
```dotenv
SNIPE_IT_URL=https://inventario.exemplo.pt
SNIPE_IT_READ_TOKEN=
SNIPE_IT_TIMEOUT=10
SNIPE_IT_PAGE_SIZE=100
SNIPE_IT_RETRIES=3
SNIPE_IT_RETRY_DELAY_MS=250
```
O token deve pertencer a uma conta técnica com acesso apenas de leitura aos ativos. A aplicação acrescenta `/api/v1` automaticamente quando a URL não o contém.
Operações:
```bash
# Sincronização imediata e resultado no terminal
docker compose exec app php artisan snipe:sync-assets
# Colocar na fila
docker compose exec app php artisan snipe:sync-assets --queue
# Confirmar o agendamento horário
docker compose exec app php artisan schedule:list
```
Administradores podem testar a ligação, iniciar uma execução e consultar as últimas dez sincronizações em `http://localhost:8000/administracao/snipe-it`. Uma execução falhada mantém o último catálogo válido e não desativa registos ausentes. Consultar `sync_runs`, os logs do worker e o painel antes de repetir.
## Produção
Antes de disponibilizar: