reports.py
Ricky/Cat Project Final/back_web-4/app/routes/reports.py
from flask import Blueprint, jsonify, current_app, request
from ..utils.auth import require_jwt
from ..services.storage import Storage
bp = Blueprint("reports", __name__, url_prefix="/api")
@bp.get("/reports")
def list_reports():
user = require_jwt()
email = user.get("email")
limit = int(request.args.get("limit", "50"))
store = Storage(current_app.config["SQLITE_PATH"])
items = store.list_reports(owner_email=email, limit=limit)
return jsonify({"status": "ok", "reports": items})
@bp.get("/report/<report_id>")
def get_report(report_id: str):
user = require_jwt()
email = user.get("email")
store = Storage(current_app.config["SQLITE_PATH"])
data = store.get_report(report_id)
if not data:
return jsonify({"status": "not_found"}), 404
# 權限:只能看自己的
if data.get("owner_email") and data["owner_email"] != email:
return jsonify({"status": "forbidden"}), 403
return jsonify({"status": "ok", "data": data})
Artículos relacionados
__init__.py
__init__.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/__init__.py).
Leer artículo →auth.py
auth.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/admin/auth.py).
Leer artículo →routes.py
routes.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/admin/routes.py).
Leer artículo →config.py
config.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/config.py).
Leer artículo →admin_ingest.py
admin_ingest.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/routes/admin_ingest.py).
Leer artículo →admin_stats.py
admin_stats.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/routes/admin_stats.py).
Leer artículo →