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)