Files
solar-pv-dashboard/backend/app/routes/realtime.py
Mateusz Gruszczyński c5cc2efbac first commit
2026-03-23 15:56:18 +01:00

27 lines
883 B
Python

from __future__ import annotations
from flask import Blueprint, jsonify, request
from app.services.realtime import RealtimeService
from app.utils.serialization import to_plain
realtime_blueprint = Blueprint("realtime", __name__)
service = RealtimeService()
@realtime_blueprint.get("/realtime/snapshot")
def realtime_snapshot():
return jsonify(to_plain(service.snapshot()))
@realtime_blueprint.get("/realtime/history")
def realtime_history():
range_key = request.args.get("range", "6h")
start = request.args.get("start")
end = request.args.get("end")
metrics = [item.strip() for item in request.args.get("metrics", "").split(",") if item.strip()]
try:
return jsonify(to_plain(service.history(range_key=range_key, start=start, end=end, metric_ids=metrics or None)))
except ValueError as exc:
return jsonify({"detail": str(exc)}), 400