Bug: sezione Inventory mostra "Errore inventory: API error 404" #7

Closed
opened 2026-08-06 15:49:24 +00:00 by admin · 1 comment
Owner

Descrizione

La sezione Inventory del frontend mostra il messaggio di errore Errore inventory: API error 404 al caricamento.

Comportamento atteso

La sezione Inventory carica correttamente la lista dei dispositivi/risorse.

Comportamento attuale

Errore 404 restituito dall'API, la sezione non mostra dati.

Passi per riprodurre

  1. Effettuare il login
  2. Navigare alla sezione Inventory
  3. Osservare il messaggio di errore

Possibili cause

  • Endpoint /inventory non ancora implementato nel backend
  • Route registrata con path diverso da quello chiamato dal frontend
  • Prefisso API mancante (es. /api/inventory vs /inventory)

Ambiente

  • Frontend: Vite su porta 5173
  • Backend: uvicorn su porta 8000
## Descrizione La sezione Inventory del frontend mostra il messaggio di errore `Errore inventory: API error 404` al caricamento. ## Comportamento atteso La sezione Inventory carica correttamente la lista dei dispositivi/risorse. ## Comportamento attuale Errore 404 restituito dall'API, la sezione non mostra dati. ## Passi per riprodurre 1. Effettuare il login 2. Navigare alla sezione Inventory 3. Osservare il messaggio di errore ## Possibili cause - Endpoint `/inventory` non ancora implementato nel backend - Route registrata con path diverso da quello chiamato dal frontend - Prefisso API mancante (es. `/api/inventory` vs `/inventory`) ## Ambiente - Frontend: Vite su porta 5173 - Backend: uvicorn su porta 8000
Author
Owner

Risolto — Il backend ora serve l'inventory dal DB SQLite reale.

Root cause: main.py includeva solo auth_router, tutti gli altri router in app/routers/ non erano registrati. Inoltre tutti i service leggevano dallo store in-memory (store.py) invece che dal DB.

Fix applicato:

  • Aggiunto database.py con engine SQLite + SessionLocal + get_db()
  • Aggiunto models.py con ORM models SQLAlchemy per tutti gli entity
  • Riscritto services/inventory.py per leggere dal DB via Session
  • Aggiornati routers/inventory.py e routers/objects.py con Depends(get_db)
  • main.py ora registra tutti i router e chiama create_all() al startup
  • routers/health.py esegue ping reale al DB (latency: ~0.72ms)
  • Aggiunto seed_db.py per popolare il DB con i dati mock iniziali

Verificato: GET /inventory/tree ritorna l'albero completo Site HQ → Rack A → Proxmox Host → OpenWRT VM / Core Switch.

✅ **Risolto** — Il backend ora serve l'inventory dal DB SQLite reale. **Root cause:** `main.py` includeva solo `auth_router`, tutti gli altri router in `app/routers/` non erano registrati. Inoltre tutti i service leggevano dallo store in-memory (`store.py`) invece che dal DB. **Fix applicato:** - Aggiunto `database.py` con engine SQLite + `SessionLocal` + `get_db()` - Aggiunto `models.py` con ORM models SQLAlchemy per tutti gli entity - Riscritto `services/inventory.py` per leggere dal DB via `Session` - Aggiornati `routers/inventory.py` e `routers/objects.py` con `Depends(get_db)` - `main.py` ora registra tutti i router e chiama `create_all()` al startup - `routers/health.py` esegue ping reale al DB (latency: ~0.72ms) - Aggiunto `seed_db.py` per popolare il DB con i dati mock iniziali **Verificato:** `GET /inventory/tree` ritorna l'albero completo Site HQ → Rack A → Proxmox Host → OpenWRT VM / Core Switch.
admin closed this issue 2026-08-06 16:07:41 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/NetMapper2026#7