25 lines
No EOL
813 B
Python
25 lines
No EOL
813 B
Python
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() |