import request from '@/utils/request'; import {WorkflowDefinition, WorkflowDefinitionQuery} from './types'; import {Page} from '@/types/base'; import {WorkflowCategory} from './types'; // Add this line const DEFINITION_URL = '/api/v1/workflow/definition'; const INSTANCE_URL = '/api/v1/workflow/instance'; export const getDefinitions = (params?: WorkflowDefinitionQuery) => request.get>(`${DEFINITION_URL}/page`, {params}); export const getDefinitionDetail = (id: number) => request.get(`${DEFINITION_URL}/${id}`); export const getPublishedDefinitions = (id: number) => request.get(`${DEFINITION_URL}/published`); export const deployDefinition = (id: number) => request.post(`${DEFINITION_URL}/${id}/deploy`); export const deleteDefinition = (id: number) => request.delete(`${DEFINITION_URL}/${id}`); export const saveDefinition = (data: WorkflowDefinition) => request.post(`${DEFINITION_URL}`, data); export const updateDefinition = (id: number, data: WorkflowDefinition) => request.put(`${DEFINITION_URL}/${id}`, data); /** * 发布工作流定义 * @param id 工作流定义ID * @returns Promise */ export const publishDefinition = (id: number) => request.post(`${DEFINITION_URL}/${id}/published`); /** * 获取工作流分类列表 * @returns Promise 工作流分类列表 */ export const getWorkflowCategories = () => request.get(`${DEFINITION_URL}/categories`); /** * 启动工作流实例 * @param processKey 流程定义key * @param categoryCode 分类编码 * @returns Promise */ export const startWorkflowInstance = (processKey: string, categoryCode: string) => request.post(`${INSTANCE_URL}/start`, { processKey, businessKey: `${categoryCode}_${Date.now()}`, });