simple-ocpp-cs/backend/app/routers/meter_value_v1.py

25 lines
813 B
Python
Raw Normal View History

2024-04-19 00:08:29 +02:00
from fastapi import APIRouter, Depends
from sqlalchemy import select
2024-04-19 00:08:29 +02:00
from sqlalchemy.orm import Session
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
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,
db: Session = Depends(get_db),
token: AccessToken = Depends(JWTBearer(required_roles=["administrator"])),
2024-04-19 00:08:29 +02:00
):
stmt = select(DbMeterValue).order_by(DbMeterValue.timestamp).offset(skip).limit(limit)
result = db.execute(stmt)
return result.scalars().all()