接口优化
This commit is contained in:
@@ -38,9 +38,12 @@ def create_table(request: CreateTableRequest, db: Session = Depends(get_db)):
|
|||||||
)
|
)
|
||||||
return SQLExecuteResponse(**result)
|
return SQLExecuteResponse(**result)
|
||||||
|
|
||||||
@router.delete("/drop-table/{table_name}", response_model=SQLExecuteResponse)
|
@router.post("/drop-table")
|
||||||
def drop_table(table_name: str, db: Session = Depends(get_db)):
|
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)
|
result = DatabaseService.drop_table(db, table_name)
|
||||||
return SQLExecuteResponse(**result)
|
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)
|
result = DatabaseService.import_data(db, request.table_name, request.data)
|
||||||
return SQLExecuteResponse(**result)
|
return SQLExecuteResponse(**result)
|
||||||
|
|
||||||
@router.get("/tables", response_model=List[str])
|
@router.post("/tables", response_model=List[str])
|
||||||
def get_table_list():
|
def get_table_list():
|
||||||
"""获取所有表名"""
|
"""获取所有表名"""
|
||||||
return DatabaseService.get_table_list()
|
return DatabaseService.get_table_list()
|
||||||
@@ -121,7 +121,7 @@ def add_date_job(request: AddDateJobRequest):
|
|||||||
message=f"添加定时任务失败: {str(e)}"
|
message=f"添加定时任务失败: {str(e)}"
|
||||||
)
|
)
|
||||||
|
|
||||||
@router.get("/", response_model=List[JobResponse])
|
@router.post("/list", response_model=List[JobResponse])
|
||||||
def get_jobs():
|
def get_jobs():
|
||||||
"""获取所有任务"""
|
"""获取所有任务"""
|
||||||
jobs = task_scheduler.get_jobs()
|
jobs = task_scheduler.get_jobs()
|
||||||
@@ -136,9 +136,12 @@ def get_jobs():
|
|||||||
))
|
))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@router.delete("/{job_id}", response_model=TaskResponse)
|
@router.post("/remove", response_model=TaskResponse)
|
||||||
def remove_job(job_id: str):
|
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)
|
success = task_scheduler.remove_job(job_id)
|
||||||
if success:
|
if success:
|
||||||
return TaskResponse(
|
return TaskResponse(
|
||||||
@@ -151,9 +154,12 @@ def remove_job(job_id: str):
|
|||||||
message=f"删除任务 {job_id} 失败"
|
message=f"删除任务 {job_id} 失败"
|
||||||
)
|
)
|
||||||
|
|
||||||
@router.put("/{job_id}/pause", response_model=TaskResponse)
|
@router.post("/pause", response_model=TaskResponse)
|
||||||
def pause_job(job_id: str):
|
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)
|
success = task_scheduler.pause_job(job_id)
|
||||||
if success:
|
if success:
|
||||||
return TaskResponse(
|
return TaskResponse(
|
||||||
@@ -166,9 +172,12 @@ def pause_job(job_id: str):
|
|||||||
message=f"暂停任务 {job_id} 失败"
|
message=f"暂停任务 {job_id} 失败"
|
||||||
)
|
)
|
||||||
|
|
||||||
@router.put("/{job_id}/resume", response_model=TaskResponse)
|
@router.post("/resume", response_model=TaskResponse)
|
||||||
def resume_job(job_id: str):
|
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)
|
success = task_scheduler.resume_job(job_id)
|
||||||
if success:
|
if success:
|
||||||
return TaskResponse(
|
return TaskResponse(
|
||||||
@@ -181,7 +190,7 @@ def resume_job(job_id: str):
|
|||||||
message=f"恢复任务 {job_id} 失败"
|
message=f"恢复任务 {job_id} 失败"
|
||||||
)
|
)
|
||||||
|
|
||||||
@router.get("/functions", response_model=List[str])
|
@router.post("/functions", response_model=List[str])
|
||||||
def get_available_functions():
|
def get_available_functions():
|
||||||
"""获取可用的任务函数列表"""
|
"""获取可用的任务函数列表"""
|
||||||
return list(AVAILABLE_FUNCTIONS.keys())
|
return list(AVAILABLE_FUNCTIONS.keys())
|
||||||
@@ -190,6 +190,7 @@ class DatabaseService:
|
|||||||
"""获取所有表名"""
|
"""获取所有表名"""
|
||||||
try:
|
try:
|
||||||
inspector = inspect(engine)
|
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:
|
except Exception as e:
|
||||||
return []
|
return []
|
||||||
Reference in New Issue
Block a user