fix: add security constraints to devEUI on readings endpoint

This commit is contained in:
Alexis Fourmaux 2026-05-12 23:58:46 +02:00
parent 35ac428e2d
commit 0dce6cf89a

View file

@ -1,7 +1,8 @@
from datetime import datetime
from typing import Annotated
from fastapi import APIRouter, Depends, Query, HTTPException
from fastapi import APIRouter, Depends, Query, HTTPException, Path
from pydantic import constr
from domain.value_objects import Granularity
from domain.exceptions import ValidationError, DatabaseError
@ -12,10 +13,11 @@ from ._readings_schemas import ConsumptionResponseSchema
readings_router = APIRouter(prefix="/readings", tags=["readings"])
DevEUI = Annotated[constr(max_length=64, pattern=r'^[0-9A-Fa-f]+$'), Path()]
@readings_router.get("/{dev_eui}", response_model=ConsumptionResponseSchema)
def get_consumption(
dev_eui: str,
dev_eui: DevEUI,
start: Annotated[datetime, Query()],
end: Annotated[datetime, Query()],
granularity: Annotated[Granularity, Query()] = "day",