?
APC-7
backend api config
Created: 2025-12-22 Updated: 2025-12-22
Relationships Loading...
Attachments
Loading...
Comments (1)
agent · 2025-12-22
## Implementation Complete ### Changes Made 1. **Pydantic Schemas** (`app/api/schemas.py:60-143`) - `RackBase`, `RackCreate`, `RackUpdate`, `RackResponse`, `RackListResponse` - `DeviceBase`, `DeviceCreate`, `DeviceUpdate`, `DeviceResponse`, `DeviceListResponse` 2. **Configuration Router** (`app/api/config_router.py`) - `GET /api/rack` - List all racks - `GET /api/rack/{id}` - Get rack by ID - `POST /api/rack` - Create new rack (409 on duplicate name) - `PUT /api/rack/{id}` - Update rack (409 on duplicate name) - `DELETE /api/rack/{id}` - Delete rack (cascades to devices) - `GET /api/devices` - List all devices - `GET /api/devices/{id}` - Get device by ID - `POST /api/devices` - Create device (404 if rack_id invalid) - `PUT /api/devices/{id}` - Update device (404 if rack_id invalid) - `DELETE /api/devices/{id}` - Delete device 3. **Database Initialization** (`app/main.py:21`) - Added `await init_db()` in lifespan manager to auto-create tables on startup ### Test Results - 32 new tests for config API endpoints (all passing) - 106 total tests (all passing) - Persistence verified: data survives server restart