package tech.powerjob.client; import tech.powerjob.common.request.http.SaveJobInfoRequest; import tech.powerjob.common.request.http.SaveWorkflowNodeRequest; import tech.powerjob.common.request.http.SaveWorkflowRequest; import tech.powerjob.common.request.query.JobInfoQuery; import tech.powerjob.common.response.*; import java.util.List; /** * PowerJobClient, the client for OpenAPI. * * @author tjq * @since 2023/3/5 */ public interface IPowerJobClient { /* ************* Job 区 ************* */ ResultDTO exportJob(Long jobId); ResultDTO saveJob(SaveJobInfoRequest request); ResultDTO copyJob(Long jobId); ResultDTO fetchJob(Long jobId); ResultDTO> fetchAllJob(); ResultDTO> queryJob(JobInfoQuery powerQuery); ResultDTO disableJob(Long jobId); ResultDTO enableJob(Long jobId); ResultDTO deleteJob(Long jobId); ResultDTO runJob(Long jobId, String instanceParams, long delayMS); /* ************* Instance API list ************* */ ResultDTO stopInstance(Long instanceId); ResultDTO cancelInstance(Long instanceId); ResultDTO retryInstance(Long instanceId); ResultDTO fetchInstanceStatus(Long instanceId); ResultDTO fetchInstanceInfo(Long instanceId); /* ************* Workflow API list ************* */ ResultDTO saveWorkflow(SaveWorkflowRequest request); ResultDTO copyWorkflow(Long workflowId); ResultDTO> saveWorkflowNode(List requestList); ResultDTO fetchWorkflow(Long workflowId); ResultDTO disableWorkflow(Long workflowId); ResultDTO enableWorkflow(Long workflowId); ResultDTO deleteWorkflow(Long workflowId); ResultDTO runWorkflow(Long workflowId, String initParams, long delayMS); /* ************* Workflow Instance API list ************* */ ResultDTO stopWorkflowInstance(Long wfInstanceId); ResultDTO retryWorkflowInstance(Long wfInstanceId); ResultDTO markWorkflowNodeAsSuccess(Long wfInstanceId, Long nodeId); ResultDTO fetchWorkflowInstanceInfo(Long wfInstanceId); }