接口优化

This commit is contained in:
lhx
2025-09-26 16:56:49 +08:00
parent 2f8106ea62
commit 18478b148a
3 changed files with 25 additions and 12 deletions

View File

@@ -38,9 +38,12 @@ def create_table(request: CreateTableRequest, db: Session = Depends(get_db)):
)
return SQLExecuteResponse(**result)
@router.delete("/drop-table/{table_name}", response_model=SQLExecuteResponse)
def drop_table(table_name: str, db: Session = Depends(get_db)):
@router.post("/drop-table")
def drop_table(request: dict, db: Session = Depends(get_db)):
"""删除表"""
table_name = request.get("table_name")
if not table_name:
raise HTTPException(status_code=400, detail="table_name is required")
result = DatabaseService.drop_table(db, table_name)
return SQLExecuteResponse(**result)
@@ -50,7 +53,7 @@ def import_data(request: ImportDataRequest, db: Session = Depends(get_db)):
result = DatabaseService.import_data(db, request.table_name, request.data)
return SQLExecuteResponse(**result)
@router.get("/tables", response_model=List[str])
@router.post("/tables", response_model=List[str])
def get_table_list():
"""获取所有表名"""
return DatabaseService.get_table_list()

View File

@@ -121,7 +121,7 @@ def add_date_job(request: AddDateJobRequest):
message=f"添加定时任务失败: {str(e)}"
)
@router.get("/", response_model=List[JobResponse])
@router.post("/list", response_model=List[JobResponse])
def get_jobs():
"""获取所有任务"""
jobs = task_scheduler.get_jobs()
@@ -136,9 +136,12 @@ def get_jobs():
))
return result
@router.delete("/{job_id}", response_model=TaskResponse)
def remove_job(job_id: str):
@router.post("/remove", response_model=TaskResponse)
def remove_job(request: dict):
"""删除任务"""
job_id = request.get("job_id")
if not job_id:
raise HTTPException(status_code=400, detail="job_id is required")
success = task_scheduler.remove_job(job_id)
if success:
return TaskResponse(
@@ -151,9 +154,12 @@ def remove_job(job_id: str):
message=f"删除任务 {job_id} 失败"
)
@router.put("/{job_id}/pause", response_model=TaskResponse)
def pause_job(job_id: str):
@router.post("/pause", response_model=TaskResponse)
def pause_job(request: dict):
"""暂停任务"""
job_id = request.get("job_id")
if not job_id:
raise HTTPException(status_code=400, detail="job_id is required")
success = task_scheduler.pause_job(job_id)
if success:
return TaskResponse(
@@ -166,9 +172,12 @@ def pause_job(job_id: str):
message=f"暂停任务 {job_id} 失败"
)
@router.put("/{job_id}/resume", response_model=TaskResponse)
def resume_job(job_id: str):
@router.post("/resume", response_model=TaskResponse)
def resume_job(request: dict):
"""恢复任务"""
job_id = request.get("job_id")
if not job_id:
raise HTTPException(status_code=400, detail="job_id is required")
success = task_scheduler.resume_job(job_id)
if success:
return TaskResponse(
@@ -181,7 +190,7 @@ def resume_job(job_id: str):
message=f"恢复任务 {job_id} 失败"
)
@router.get("/functions", response_model=List[str])
@router.post("/functions", response_model=List[str])
def get_available_functions():
"""获取可用的任务函数列表"""
return list(AVAILABLE_FUNCTIONS.keys())

View File

@@ -190,6 +190,7 @@ class DatabaseService:
"""获取所有表名"""
try:
inspector = inspect(engine)
return inspector.get_table_names()
# 排除mysql的系统表和accounts表
return [table for table in inspector.get_table_names() if not table.startswith('mysql') and table != 'accounts']
except Exception as e:
return []