2024-04-19 00:08:29 +02:00
|
|
|
from fastapi import APIRouter, Depends
|
2025-03-13 16:34:41 +00:00
|
|
|
from sqlalchemy import select
|
2024-04-19 00:08:29 +02:00
|
|
|
from sqlalchemy.orm import Session
|
|
|
|
|
2025-03-13 16:34:41 +00:00
|
|
|
from app.schemas.auth_token import AccessToken
|
2024-04-19 00:08:29 +02:00
|
|
|
from app.database import get_db
|
|
|
|
from app.schemas.meter_value import MeterValue
|
|
|
|
from app.models.meter_value import MeterValue as DbMeterValue
|
2025-03-13 16:34:41 +00:00
|
|
|
from app.security.jwt_bearer import JWTBearer
|
2024-04-19 00:08:29 +02:00
|
|
|
|
|
|
|
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,
|
2025-03-13 16:34:41 +00:00
|
|
|
db: Session = Depends(get_db),
|
|
|
|
token: AccessToken = Depends(JWTBearer(required_roles=["administrator"])),
|
2024-04-19 00:08:29 +02:00
|
|
|
):
|
2025-03-13 16:34:41 +00:00
|
|
|
stmt = select(DbMeterValue).order_by(DbMeterValue.timestamp).offset(skip).limit(limit)
|
|
|
|
result = db.execute(stmt)
|
|
|
|
return result.scalars().all()
|