"""Health data routes: summary / steps / heart-rate / sleep / activities.""" from flask import Blueprint, request, g, jsonify from auth import require_auth from services import health as health_svc bp = Blueprint("health", __name__) def _range(): return request.args.get("startDate"), request.args.get("endDate") @bp.route("/summary", methods=["GET"]) @require_auth def summary(): s, e = _range() return jsonify(health_svc.get_summary(g.user_id, s, e)) @bp.route("/steps", methods=["GET"]) @require_auth def steps(): s, e = _range() return jsonify(health_svc.get_steps(g.user_id, s, e)) @bp.route("/heart-rate", methods=["GET"]) @require_auth def heart_rate(): s, e = _range() return jsonify(health_svc.get_heart_rate(g.user_id, s, e)) @bp.route("/sleep", methods=["GET"]) @require_auth def sleep(): s, e = _range() return jsonify(health_svc.get_sleep(g.user_id, s, e)) @bp.route("/activities", methods=["GET"]) @require_auth def activities(): s, e = _range() return jsonify(health_svc.get_activities(g.user_id, s, e)) @bp.route("/badges", methods=["GET"]) @require_auth def badges(): """Earned badges (奖励), most recent first.""" return jsonify(health_svc.get_badges(g.user_id)) @bp.route("/personal-records", methods=["GET"]) @require_auth def personal_records(): return jsonify(health_svc.get_personal_records(g.user_id))