From 35ac428e2d317a236a7cfed052007cb00808787d Mon Sep 17 00:00:00 2001 From: Alexis Fourmaux Date: Tue, 12 May 2026 23:57:54 +0200 Subject: [PATCH] fix: manage DatabaseError in list_devices --- server/backend/adapters/http/devices.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/server/backend/adapters/http/devices.py b/server/backend/adapters/http/devices.py index d0a9b32..457ea19 100644 --- a/server/backend/adapters/http/devices.py +++ b/server/backend/adapters/http/devices.py @@ -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 dependencies import get_device_service from ._devices_schemas import DeviceResponseSchema devices_router = APIRouter(prefix="/devices", tags=["devices"]) +log = logging.getLogger(__name__) @devices_router.get("", response_model=list[DeviceResponseSchema]) 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")