dev
This commit is contained in:
30
domain-api/app/api/routes/imports.py
Normal file
30
domain-api/app/api/routes/imports.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from fastapi import APIRouter, File, UploadFile
|
||||
|
||||
from app.schemas.common import ApiResponse
|
||||
from app.services.import_task_service import create_import_task, list_import_tasks, retry_import_task
|
||||
from app.services.imports_service import get_import_summary
|
||||
|
||||
router = APIRouter(tags=["imports"])
|
||||
|
||||
|
||||
@router.get("/imports/summary", response_model=ApiResponse)
|
||||
def imports_summary() -> ApiResponse:
|
||||
return ApiResponse(data=get_import_summary())
|
||||
|
||||
|
||||
@router.get("/imports/tasks", response_model=ApiResponse)
|
||||
def import_tasks() -> ApiResponse:
|
||||
return ApiResponse(data=list_import_tasks())
|
||||
|
||||
|
||||
@router.post("/imports/upload", response_model=ApiResponse)
|
||||
async def upload_import(file: UploadFile = File(...)) -> ApiResponse:
|
||||
content = await file.read()
|
||||
task = create_import_task(content, file.filename or "domains.txt")
|
||||
return ApiResponse(message="导入任务已创建", data=task)
|
||||
|
||||
|
||||
@router.post("/imports/tasks/{task_id}/retry", response_model=ApiResponse)
|
||||
def import_task_retry(task_id: str) -> ApiResponse:
|
||||
task = retry_import_task(task_id)
|
||||
return ApiResponse(message="导入任务已重新加入队列", data=task)
|
||||
Reference in New Issue
Block a user