deploy: sync server CloudSearch 0.5.6

This commit is contained in:
2026-06-25 02:08:39 +08:00
parent 75f5d26964
commit ce3f95b8b9
53 changed files with 2740 additions and 116 deletions
+19 -4
View File
@@ -7,8 +7,8 @@ import os
import uuid
import logging
from flask import Flask, request, jsonify
from config import ConfigManager
from orchestration.transfer import TransferOrchestrator
from cloudsearch_transfer.config import ConfigManager
from cloudsearch_transfer.orchestration.transfer import TransferOrchestrator
# ─── 初始化 ────────────────────────────────────────────
@@ -149,6 +149,18 @@ def stats():
return jsonify(orchestrator.get_stats())
def require_config_auth():
token = os.getenv("TRANSFER_API_TOKEN", "")
if not token:
return jsonify({"error": "TRANSFER_API_TOKEN is required"}), 401
supplied = request.headers.get("X-Transfer-Token") or request.headers.get("Authorization", "")
if supplied.startswith("Bearer "):
supplied = supplied[7:]
if supplied != token:
return jsonify({"error": "unauthorized"}), 401
return None
# ─── 配置管理 ──────────────────────────────────────────
@app.route("/api/config/platforms", methods=["GET"])
@@ -169,14 +181,17 @@ def get_platforms():
@app.route("/api/config/platforms/<name>", methods=["PUT"])
def update_platform(name):
"""更新平台配置"""
auth_error = require_config_auth()
if auth_error:
return auth_error
data = request.get_json() or {}
if name not in config.platforms:
from config import PlatformConfig
from cloudsearch_transfer.config import PlatformConfig
config.platforms[name] = PlatformConfig()
cfg = config.platforms[name]
if "enabled" in data:
cfg.enabled = data["enabled"]
cfg.enabled = bool(data["enabled"])
if "cookie" in data:
cfg.cookie = data["cookie"]
if "refresh_token" in data: