mirror of
https://github.com/zc-zhangchen/any-auto-register.git
synced 2026-05-08 00:04:07 +08:00
Resolve PR #27 conflicts by keeping the configurable CFWorker domain pool changes alongside existing MaliAPI, CodexProxy, and chatgpt settings.
47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
from fastapi import APIRouter
|
||
from pydantic import BaseModel
|
||
from core.config_store import config_store
|
||
|
||
router = APIRouter(prefix="/config", tags=["config"])
|
||
|
||
CONFIG_KEYS = [
|
||
"laoudo_auth", "laoudo_email", "laoudo_account_id",
|
||
"yescaptcha_key", "twocaptcha_key",
|
||
"default_executor", "default_captcha_solver",
|
||
"duckmail_api_url", "duckmail_provider_url", "duckmail_bearer",
|
||
"freemail_api_url", "freemail_admin_token", "freemail_username", "freemail_password",
|
||
"moemail_api_url",
|
||
"mail_provider",
|
||
"maliapi_base_url", "maliapi_api_key", "maliapi_domain", "maliapi_auto_domain_strategy",
|
||
"cfworker_api_url", "cfworker_admin_token", "cfworker_custom_auth", "cfworker_domain",
|
||
"cfworker_domains", "cfworker_enabled_domains", "cfworker_fingerprint",
|
||
"smstome_cookie", "smstome_country_slugs", "smstome_phone_attempts", "smstome_otp_timeout_seconds",
|
||
"smstome_poll_interval_seconds", "smstome_sync_max_pages_per_country",
|
||
"luckmail_base_url", "luckmail_api_key", "luckmail_email_type", "luckmail_domain",
|
||
"cpa_api_url", "cpa_api_key",
|
||
"team_manager_url", "team_manager_key",
|
||
"codex_proxy_url", "codex_proxy_key", "codex_proxy_upload_type",
|
||
"cliproxyapi_management_key",
|
||
"grok2api_url", "grok2api_app_key", "grok2api_pool", "grok2api_quota",
|
||
"kiro_manager_path", "kiro_manager_exe",
|
||
]
|
||
|
||
|
||
class ConfigUpdate(BaseModel):
|
||
data: dict
|
||
|
||
|
||
@router.get("")
|
||
def get_config():
|
||
all_cfg = config_store.get_all()
|
||
# 只返回已知 key,未设置的返回空字符串
|
||
return {k: all_cfg.get(k, "") for k in CONFIG_KEYS}
|
||
|
||
|
||
@router.put("")
|
||
def update_config(body: ConfigUpdate):
|
||
# 只允许更新已知 key
|
||
safe = {k: v for k, v in body.data.items() if k in CONFIG_KEYS}
|
||
config_store.set_many(safe)
|
||
return {"ok": True, "updated": list(safe.keys())}
|