2026-05-12 23:57:54 +02:00
|
|
|
import logging
|
2026-05-12 21:59:24 +02:00
|
|
|
|
2026-05-12 23:57:54 +02:00
|
|
|
from fastapi import APIRouter, Depends, HTTPException
|
|
|
|
|
|
|
|
|
|
from domain.exceptions import DatabaseError
|
2026-05-12 21:59:24 +02:00
|
|
|
from services.devices_service import DeviceService
|
|
|
|
|
from dependencies import get_device_service
|
|
|
|
|
from ._devices_schemas import DeviceResponseSchema
|
|
|
|
|
|
|
|
|
|
devices_router = APIRouter(prefix="/devices", tags=["devices"])
|
|
|
|
|
|
2026-05-12 23:57:54 +02:00
|
|
|
log = logging.getLogger(__name__)
|
2026-05-12 21:59:24 +02:00
|
|
|
|
|
|
|
|
@devices_router.get("", response_model=list[DeviceResponseSchema])
|
|
|
|
|
def list_devices(service: DeviceService = Depends(get_device_service)):
|
2026-05-12 23:57:54 +02:00
|
|
|
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")
|