fix: manage DatabaseError in list_devices

This commit is contained in:
Alexis Fourmaux 2026-05-12 23:57:54 +02:00
parent 2341471e0e
commit 35ac428e2d

View file

@ -1,12 +1,20 @@
from fastapi import APIRouter, Depends import logging
from fastapi import APIRouter, Depends, HTTPException
from domain.exceptions import DatabaseError
from services.devices_service import DeviceService from services.devices_service import DeviceService
from dependencies import get_device_service from dependencies import get_device_service
from ._devices_schemas import DeviceResponseSchema from ._devices_schemas import DeviceResponseSchema
devices_router = APIRouter(prefix="/devices", tags=["devices"]) devices_router = APIRouter(prefix="/devices", tags=["devices"])
log = logging.getLogger(__name__)
@devices_router.get("", response_model=list[DeviceResponseSchema]) @devices_router.get("", response_model=list[DeviceResponseSchema])
def list_devices(service: DeviceService = Depends(get_device_service)): def list_devices(service: DeviceService = Depends(get_device_service)):
return [DeviceResponseSchema.from_domain(d) for d in service.get_all_devices()] try:
return [DeviceResponseSchema.from_domain(d) for d in service.get_all_devices()]
except DatabaseError as e:
log.error("DatabaseError: %s", e)
raise HTTPException(status_code=500, detail="Erreur interne du serveur")