20 lines
752 B
Python
20 lines
752 B
Python
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)):
|
|
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")
|