1. 移除多个列表/统计API的默认空参数和buildQueryString调用,简化无参请求 2. 新增健康检查、测试通知渠道等API端点 3. 更新API注释文档,修正端点计数、废弃接口替换说明 4. 调整环境导出接口的权限为管理员权限并使用adminGet 5. 修正webhook接口的废弃端点替换和注释描述
74 lines
3.5 KiB
JavaScript
74 lines
3.5 KiB
JavaScript
/**
|
||
* 02-工具管理 API(22 端点)
|
||
* 路径前缀:/tools
|
||
*
|
||
* 对齐 backend/server/routers/external_systems/tool_router.py:
|
||
* - 查询类端点后端用 get_required_user(普通用户可访问),写操作用 get_admin_user
|
||
* - execute / batch-execute 后端用 get_required_user(执行类操作,非写操作)
|
||
* - get_tool / delete_tool 接受可选 system_id query
|
||
* - export-wsdl 后端返回普通 JSON(非 StreamingResponse),system_id 必填
|
||
* - export 后端返回 StreamingResponse,需用 blob 接收
|
||
* - health-check 后端用 get_admin_user,请求体可选 env_key
|
||
*/
|
||
import { apiGet, apiPost, apiAdminPost, apiAdminPut, apiAdminDelete } from '../base'
|
||
import { buildUrl, buildQueryString, MODULE_PATHS } from './base'
|
||
|
||
const URL = buildUrl(MODULE_PATHS.TOOL)
|
||
|
||
// ===== 列表与详情 =====
|
||
export const getToolListApi = (params = {}) => apiGet(`${URL}${buildQueryString(params)}`)
|
||
export const createToolApi = (data) => apiAdminPost(URL, data)
|
||
export const getToolDetailApi = (id, systemId) =>
|
||
apiGet(`${URL}/${id}${buildQueryString({ system_id: systemId })}`)
|
||
export const updateToolApi = (id, data) => apiAdminPut(`${URL}/${id}`, data)
|
||
export const deleteToolApi = (id, systemId) =>
|
||
apiAdminDelete(`${URL}/${id}${buildQueryString({ system_id: systemId })}`)
|
||
|
||
// ===== 选项与启用列表 =====
|
||
export const getEnabledToolsApi = (params = {}) =>
|
||
apiGet(`${URL}/enabled${buildQueryString(params)}`)
|
||
export const getToolOptionsApi = (params = {}) =>
|
||
apiGet(`${URL}/options${buildQueryString(params)}`)
|
||
|
||
// ===== 导入导出 =====
|
||
// 后端 export_tools 返回 StreamingResponse(application/octet-stream)
|
||
export const exportToolsApi = (params = {}) =>
|
||
apiGet(`${URL}/export${buildQueryString(params)}`, {}, true, 'blob')
|
||
// 后端 export_wsdl 返回普通 JSON,system_id 必填
|
||
export const exportToolWsdlApi = (params = {}) => apiGet(`${URL}/export-wsdl${buildQueryString(params)}`)
|
||
export const importToolsApi = (data) => apiAdminPost(`${URL}/import`, data)
|
||
export const importToolsFromWsdlApi = (data) => apiAdminPost(`${URL}/import-from-wsdl`, data)
|
||
|
||
// ===== 执行 =====
|
||
// 后端 execute / batch-execute 用 get_required_user(执行类操作,非写操作)
|
||
export const executeToolApi = (data) => apiPost(`${URL}/execute`, data)
|
||
export const batchExecuteToolsApi = (data) => apiPost(`${URL}/batch-execute`, data)
|
||
|
||
// ===== 健康检查 =====
|
||
// 后端 health_check_external_tool 用 get_admin_user,请求体可选 env_key
|
||
export const healthCheckToolApi = (id, data = {}) =>
|
||
apiAdminPost(`${URL}/${id}/health-check`, data)
|
||
|
||
// ===== 批量克隆 =====
|
||
export const batchCloneToolsApi = (data) => apiAdminPost(`${URL}/batch-clone`, data)
|
||
|
||
// ===== 克隆 =====
|
||
export const cloneToolApi = (id, data) => apiAdminPost(`${URL}/${id}/clone`, data)
|
||
|
||
// ===== 版本管理 =====
|
||
export const getToolVersionsApi = (id, params = {}) =>
|
||
apiGet(`${URL}/${id}/versions${buildQueryString(params)}`)
|
||
export const compareToolVersionsApi = (id, v1, v2) =>
|
||
apiGet(`${URL}/${id}/versions/${v1}/compare/${v2}`)
|
||
export const rollbackToolVersionApi = (id, v) =>
|
||
apiAdminPost(`${URL}/${id}/versions/${v}/rollback`)
|
||
|
||
// ===== 参数模板与执行趋势 =====
|
||
export const getToolParameterTemplateApi = (id) =>
|
||
apiGet(`${URL}/${id}/parameter-template`)
|
||
export const getToolExecutionTrendApi = (id, params = {}) =>
|
||
apiGet(`${URL}/${id}/execution-trend${buildQueryString(params)}`)
|
||
|
||
// ===== 关联资产 =====
|
||
export const getToolAssetsApi = (id) => apiGet(`${URL}/${id}/assets`)
|