from flask import request, jsonify, g from releases.api import create_app from releases import service from releases.utils import logic app = create_app() @app.route("/hello/", methods=["GET"]) def health(): return "ok", 200 @app.route("/release//tracks", methods=["GET"]) def get_tracks(release_id): tracks = service.get_tracks(release_id) return jsonify([t.to_dict() for t in tracks]) @app.route("/track/", methods=["GET"]) def get_track_by_id(track_id): # Inline grass check — enforcement is NOT delegated to middleware account_type = g.request_context.account_type account_id = g.request_context.account_id has_grass_access = logic.verify_grass_access( request, account_type=account_type, account_id=account_id ) if not has_grass_access: return jsonify({"error": "forbidden"}), 403 return jsonify(service.get_track_by_id(track_id).to_dict())