diff --git a/portal_server.py b/portal_server.py index 97f49ad..5ce2408 100755 --- a/portal_server.py +++ b/portal_server.py @@ -18,14 +18,12 @@ SAAS_DIR = "/home/h3r7/turf_saas" # ─── SaaS Auth & API v1 blueprints ──────────────────────────────────────────── try: from saas_auth import auth_bp - from saas_api_v1 import api_v1_bp - from api_v1.routes.ml_feedback import ml_feedback_bp - from api_v1.routes.metrics import metrics_bp + from saas_api_v1 import saas_api_v1_bp + from api_v1 import register_api_v1 app.register_blueprint(auth_bp) - app.register_blueprint(api_v1_bp) - app.register_blueprint(ml_feedback_bp) - app.register_blueprint(metrics_bp) + app.register_blueprint(saas_api_v1_bp) + register_api_v1(app) print("[portal] SaaS auth & API v1 blueprints registered ✅") except Exception as e: print(f"[portal] Warning: could not register SaaS blueprints: {e}") diff --git a/saas_api_v1.py b/saas_api_v1.py index 1944cf7..da4abd2 100644 --- a/saas_api_v1.py +++ b/saas_api_v1.py @@ -13,7 +13,7 @@ from saas_auth import require_auth DB_PATH = os.environ.get("TURF_SAAS_DB", "/home/h3r7/turf_saas/turf_saas.db") -api_v1_bp = Blueprint("api_v1", __name__, url_prefix="/api/v1") +saas_api_v1_bp = Blueprint("saas_api_v1", __name__, url_prefix="/api/v1") def get_db(): @@ -30,7 +30,7 @@ def plan_allows(user_plan: str, required: str) -> bool: # ─── Stats ──────────────────────────────────────────────────────────────────── -@api_v1_bp.route("/stats/summary", methods=["GET"]) +@saas_api_v1_bp.route("/stats/summary", methods=["GET"]) @require_auth def stats_summary(): """GET /api/v1/stats/summary — résumé dashboard.""" @@ -94,7 +94,7 @@ def stats_summary(): # ─── Predictions ────────────────────────────────────────────────────────────── -@api_v1_bp.route("/predictions/today", methods=["GET"]) +@saas_api_v1_bp.route("/predictions/today", methods=["GET"]) @require_auth def predictions_today(): """GET /api/v1/predictions/today — prédictions du jour selon le plan.""" @@ -149,7 +149,7 @@ def predictions_today(): return jsonify({"error": str(e), "predictions": []}), 200 -@api_v1_bp.route("/predictions/race/", methods=["GET"]) +@saas_api_v1_bp.route("/predictions/race/", methods=["GET"]) @require_auth def predictions_race(race_label): """GET /api/v1/predictions/race/