Files
miniapp_qr_portable_bundle/web_app.py
Logic 29d1ad71ab
Some checks failed
docker-cicd / build-and-push (push) Failing after 16s
Initial commit
2026-03-21 18:47:00 +08:00

50 lines
1.2 KiB
Python

import os
from flask import Flask, jsonify, render_template, request
from miniapp_qr_poc import generate_member_qr, load_found_ids
app = Flask(__name__)
@app.get("/")
def index():
return render_template("index.html")
@app.get("/healthz")
def healthz():
return jsonify({"ok": True})
@app.get("/api/found-ids")
def api_found_ids():
items = load_found_ids()
return jsonify({"ok": True, "count": len(items), "items": items})
@app.post("/api/generate")
def api_generate():
payload = request.get_json(silent=True)
if payload is None:
payload = request.form
member_id = payload.get("member_id") if payload else None
if member_id is None or str(member_id).strip() == "":
return jsonify({"ok": False, "error": "missing member_id"}), 400
try:
result = generate_member_qr(int(member_id), include_data_url=True)
except ValueError as exc:
return jsonify({"ok": False, "error": str(exc)}), 400
except Exception as exc:
return jsonify({"ok": False, "error": str(exc)}), 500
return jsonify({"ok": True, **result})
if __name__ == "__main__":
host = os.getenv("HOST", "0.0.0.0")
port = int(os.getenv("PORT", "8000"))
app.run(host=host, port=port, debug=False)