package jnpf.flowable.controller;
|
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import jnpf.base.ActionResult;
|
import jnpf.exception.WorkFlowException;
|
import jnpf.flowable.service.dev.DevApprovalService;
|
import jnpf.flowable.service.dev.DevApprovalRuns;
|
import org.springframework.context.annotation.Profile;
|
import lombok.Data;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.web.bind.annotation.*;
|
|
@Profile("workflow-dev-tools & !prod & !production")
|
@RestController
|
@RequestMapping("/devApproval")
|
@SaCheckLogin
|
@RequiredArgsConstructor
|
public class DevApprovalController {
|
private final DevApprovalService service;
|
private final DevApprovalRuns runs;
|
|
@GetMapping("/{taskId}")
|
public ActionResult<DevApprovalService.State> inspect(@PathVariable String taskId) throws WorkFlowException {
|
return ActionResult.success(service.inspect(taskId, null));
|
}
|
|
@PostMapping("/{taskId}/run")
|
public ActionResult<DevApprovalRuns.Progress> start(@PathVariable String taskId, @RequestBody Request request) throws WorkFlowException {
|
return ActionResult.success(runs.start(taskId, request.getSignId()));
|
}
|
|
@GetMapping("/{taskId}/run")
|
public ActionResult<DevApprovalRuns.Progress> status(@PathVariable String taskId) throws WorkFlowException {
|
return ActionResult.success(runs.status(taskId));
|
}
|
|
@PostMapping("/{taskId}/run/stop")
|
public ActionResult<DevApprovalRuns.Progress> stop(@PathVariable String taskId, @RequestBody Request request) throws WorkFlowException {
|
return ActionResult.success(runs.stop(taskId, request.getRunId()));
|
}
|
|
@Data
|
public static class Request {
|
private String signId;
|
private String runId;
|
}
|
}
|