from flask import request, jsonify, g from media.api import create_app, setup_authorization_backend from media import service from media.utils import handlers_utils app = create_app() authorization_backend = setup_authorization_backend(app) @app.route("/hello/", methods=["GET"]) def health(): return "ok", 200 @app.route("/v2/assets/upload", methods=["POST"]) def create_asset_upload(): # No auth check — relies on upstream gateway result = service.create_upload(request.json) return jsonify(result), 201 @app.route("/v2/asset", methods=["POST"]) def post_asset(): # Partial PP check added during initial migration identity_id = g.request_context.jwt_identity_id if not identity_id and not handlers_utils.is_jwt_identity_authorized( g.request_context.jwt_identity_id ): return jsonify({"error": "unauthorized"}), 401 asset = service.create_asset(request.json) return jsonify(asset), 201 @app.route("/internal/v2/asset//owner", methods=["GET"]) def get_asset_owner(filename): # Internal endpoint — no auth owner = service.get_owner(filename) return jsonify(owner)