ForcePilot/web/src/apis/external-systems/tool_api.js
Kris abf5ae52e5 refactor(apis): 简化无参API调用并更新API文档
1. 移除多个列表/统计API的默认空参数和buildQueryString调用,简化无参请求
2. 新增健康检查、测试通知渠道等API端点
3. 更新API注释文档,修正端点计数、废弃接口替换说明
4. 调整环境导出接口的权限为管理员权限并使用adminGet
5. 修正webhook接口的废弃端点替换和注释描述
2026-07-11 07:37:53 +08:00

74 lines
3.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 02-工具管理 API22 端点)
* 路径前缀:/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非 StreamingResponsesystem_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 返回 StreamingResponseapplication/octet-stream
export const exportToolsApi = (params = {}) =>
apiGet(`${URL}/export${buildQueryString(params)}`, {}, true, 'blob')
// 后端 export_wsdl 返回普通 JSONsystem_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`)