feat(HRT-93): ml_feedback_saas.py — feedback loop ML pour turf_saas
- Crée ml_feedback_saas.py (adaptation de ml_feedback.py pour turf_saas.db) - DB_PATH = /home/h3r7/turf_saas/turf_saas.db - Stratégies : xgboost_sg, xgboost_value, xgboost_sp, xgboost_2sur4 - Idempotent (ne duplique pas les paris existants) - Tested : 188 paris insérés en 1ère exécution, 0 en 2ème (idempotence OK) - Crée api_v1/routes/ml_feedback.py - POST /api/v1/ml/feedback/run (admin only via X-Admin-Token ou plan pro) - GET /api/v1/ml/feedback/stats (premium+) - Enregistre ml_feedback_bp dans api_v1/__init__.py Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -22,6 +22,8 @@ Registers sub-blueprints:
|
||||
/api/v1/history — historique préd. ML (Free:7j, Premium:90j, Pro:illimité)
|
||||
/api/v1/org/ — organisations Pro (multi-compte, max 5 users)
|
||||
/api/v1/docs — Swagger UI (via flasgger, registered on app)
|
||||
/api/v1/ml/feedback/run — trigger feedback loop ML (admin)
|
||||
/api/v1/ml/feedback/stats — stats par stratégie (premium+)
|
||||
"""
|
||||
|
||||
from flask import Blueprint
|
||||
@@ -38,6 +40,7 @@ from .routes.user import user_bp
|
||||
from .routes.user_tokens import user_tokens_bp
|
||||
from .routes.history import history_bp
|
||||
from .routes.org import org_bp
|
||||
from .routes.ml_feedback import ml_feedback_bp
|
||||
|
||||
# Master blueprint that aggregates all sub-routes under /api/v1
|
||||
api_v1_bp = Blueprint("api_v1", __name__, url_prefix="/api/v1")
|
||||
@@ -57,3 +60,4 @@ def register_api_v1(app):
|
||||
app.register_blueprint(user_tokens_bp)
|
||||
app.register_blueprint(history_bp)
|
||||
app.register_blueprint(org_bp)
|
||||
app.register_blueprint(ml_feedback_bp)
|
||||
|
||||
Reference in New Issue
Block a user