Link events to SchedulerComponent

This commit is contained in:
2025-06-23 19:41:48 +00:00
parent 6e38ca477a
commit 9b78db8223
5 changed files with 99 additions and 104 deletions

View File

@@ -18,16 +18,21 @@ Session = sessionmaker(bind=engine)
app = Flask(__name__)
@app.route("/health")
def health():
return jsonify(status="ok")
# Optional: Test-Route
@app.route("/")
def index():
return "Hello from InfoscreenAPI!"
# (Weitere Endpunkte, Blueprints, Datenbank-Initialisierung usw. kommen hierher)
@app.route("/screenshots/<uuid>")
def get_screenshot(uuid):
"""Liefert den aktuellen Screenshot für die angegebene UUID zurück."""
@@ -44,6 +49,7 @@ def get_screenshot(uuid):
print("Gefundene Dateien:", files)
return send_from_directory("screenshots", filename)
@app.route("/api/clients")
def get_clients():
# from models import Client # Import lokal, da im selben Container
@@ -63,12 +69,9 @@ def get_clients():
session.close()
return jsonify(result)
@app.route("/api/events")
def get_events():
"""
Liefert Events für einen Zeitraum (start, end) als FullCalendar-kompatible Objekte.
Query-Parameter: start, end (ISO-Format), optional: client_uuid
"""
session = Session()
start = request.args.get("start")
end = request.args.get("end")
@@ -82,22 +85,16 @@ def get_events():
result = []
for e in events:
result.append({
"id": str(e.id),
"title": e.title,
"start": e.start.isoformat() if e.start else None,
"end": e.end.isoformat() if e.end else None,
"allDay": False,
"classNames": [e.event_type.value] if e.event_type else [],
"extendedProps": {
"description": e.description,
"client_uuid": e.client_uuid,
"event_type": e.event_type.value if e.event_type else None,
"created_by": e.created_by,
"updated_by": e.updated_by,
}
"Id": str(e.id),
"Subject": e.title,
"StartTime": e.start.isoformat() if e.start else None,
"EndTime": e.end.isoformat() if e.end else None,
"IsAllDay": False,
# Optional: weitere Felder wie "Description", "Location", etc.
})
session.close()
return jsonify(result)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000, debug=True)
app.run(host="0.0.0.0", port=8000, debug=True)