This commit is contained in:
Your Name
2026-04-16 21:35:47 +08:00
parent ff32aa50bf
commit ebf632e651
86 changed files with 14097 additions and 585 deletions

View File

@@ -5,12 +5,15 @@ from fastapi.responses import FileResponse
from app.core.files import settings_backup_root
from app.schemas.common import ApiResponse
from app.services.juziseo_service import get_juziseo_status, login_juziseo
from app.services.settings_service import (
backup_current_settings,
export_settings_snapshot,
get_credentials_payload,
get_settings_payload,
import_settings_snapshot,
list_settings_backups,
update_credentials_payload,
update_settings_payload,
validate_settings_payload,
)
@@ -61,6 +64,30 @@ def get_settings_backups() -> ApiResponse:
return ApiResponse(data=list_settings_backups())
@router.get("/settings/credentials", response_model=ApiResponse)
def get_settings_credentials() -> ApiResponse:
return ApiResponse(data=get_credentials_payload())
@router.put("/settings/credentials", response_model=ApiResponse)
def update_settings_credentials(payload: dict) -> ApiResponse:
return ApiResponse(message="credentials updated", data=update_credentials_payload(payload))
@router.get("/settings/juziseo/status", response_model=ApiResponse)
def get_settings_juziseo_status() -> ApiResponse:
return ApiResponse(data=get_juziseo_status())
@router.post("/settings/juziseo/login", response_model=ApiResponse)
def settings_juziseo_login(payload: dict) -> ApiResponse:
try:
data = login_juziseo(str(payload.get("email") or ""), str(payload.get("password") or ""))
except ValueError as exc:
raise HTTPException(status_code=400, detail=str(exc)) from exc
return ApiResponse(message="桔子SEO登录成功", data=data)
@router.get("/settings/backups/download/{filename}")
def download_settings_backup(filename: str):
path = settings_backup_root() / Path(filename).name