feat: 数据导出/导入(资产迁移/备份,支撑部署到其他服务器)

This commit is contained in:
gouki
2026-08-03 00:12:38 +00:00
parent b049eaf03c
commit f1cdcf716c
3 changed files with 99 additions and 3 deletions
+17 -1
View File
@@ -5,7 +5,7 @@
from typing import List, Optional
from fastapi import APIRouter, Depends, Query
from fastapi import APIRouter, Body, Depends, Query
from sqlmodel import Session
from app.core.security import require_api_key
@@ -32,6 +32,22 @@ def list_assets(
)
@router.get("/export", summary="导出所有资产(数据迁移/备份)")
def export_assets(session: Session = Depends(get_session)) -> dict:
return asset_service.export_assets(session)
@router.post(
"/import",
summary="导入资产(从导出数据,按 name+类型+服务商去重)",
dependencies=[Depends(require_api_key)],
)
def import_assets_endpoint(
data: dict = Body(...), session: Session = Depends(get_session)
) -> dict:
return asset_service.import_assets(session, data.get("assets", []))
@router.get("/{asset_id}", response_model=AssetRead, summary="资产详情")
def get_asset(asset_id: int, session: Session = Depends(get_session)):
return asset_service.get_asset(session, asset_id)