from fastapi import APIRouter, Depends from sqlalchemy import select from sqlalchemy.orm import Session from app.schemas.auth_token import AccessToken from app.database import get_db from app.schemas.meter_value import MeterValue from app.models.meter_value import MeterValue as DbMeterValue from app.security.jwt_bearer import JWTBearer router = APIRouter( prefix="/meter-values", tags=["MeterValue (v1)"] ) @router.get(path="", response_model=list[MeterValue]) async def get_meter_values( skip: int = 0, limit: int = 20, db: Session = Depends(get_db), token: AccessToken = Depends(JWTBearer(required_roles=["administrator"])), ): stmt = select(DbMeterValue).order_by(DbMeterValue.timestamp).offset(skip).limit(limit) result = db.execute(stmt) return result.scalars().all()