Skip to content

Commit 75e7bb4

Browse files
committed
1 parent 4aba8be commit 75e7bb4

3 files changed

Lines changed: 52 additions & 1 deletion

File tree

flow-engine-starter-api/src/main/java/com/codingapi/flow/api/controller/WorkflowController.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import com.alibaba.fastjson.JSONObject;
44
import com.codingapi.flow.api.pojo.NodeCreateRequest;
5+
import com.codingapi.flow.api.pojo.WorkflowMeta;
56
import com.codingapi.flow.api.pojo.WorkflowUpdateVersionNameRequest;
7+
import com.codingapi.flow.exception.FlowNotFoundException;
68
import com.codingapi.flow.exception.FlowPermissionException;
79
import com.codingapi.flow.gateway.FlowOperatorGateway;
810
import com.codingapi.flow.mock.MockInstance;
@@ -53,6 +55,15 @@ public Response updateVersionName(@RequestBody WorkflowUpdateVersionNameRequest
5355
return Response.buildSuccess();
5456
}
5557

58+
@GetMapping("/meta")
59+
public SingleResponse<WorkflowMeta> getMeta(IdRequest request){
60+
Workflow workflow = workflowService.getWorkflow(request.getStringId());
61+
if(workflow!=null){
62+
return SingleResponse.of(new WorkflowMeta(workflow));
63+
}
64+
throw FlowNotFoundException.workflow(request.getStringId());
65+
}
66+
5667

5768
@PostMapping("/changeVersion")
5869
public Response changeVersion(@RequestBody IdRequest request) {
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.codingapi.flow.api.pojo;
2+
3+
import com.codingapi.flow.action.IFlowAction;
4+
import com.codingapi.flow.form.FlowForm;
5+
import com.codingapi.flow.manager.ActionManager;
6+
import com.codingapi.flow.node.IFlowNode;
7+
import com.codingapi.flow.workflow.Workflow;
8+
import lombok.Data;
9+
10+
import java.util.List;
11+
12+
@Data
13+
public class WorkflowMeta {
14+
15+
private String workId;
16+
private List<ActionOption> actions;
17+
private FlowForm form;
18+
19+
public WorkflowMeta(Workflow workflow) {
20+
this.workId = workflow.getId();
21+
this.form = workflow.getForm();
22+
IFlowNode startNode = workflow.getStartNode();
23+
ActionManager actionManager = startNode.actionManager();
24+
this.actions = actionManager.getActions().stream().map(ActionOption::new).toList();
25+
}
26+
27+
28+
@Data
29+
public static class ActionOption {
30+
private String actionId;
31+
private String title;
32+
private String type;
33+
34+
public ActionOption(IFlowAction action) {
35+
this.actionId = action.id();
36+
this.title = action.title();
37+
this.type = action.type();
38+
}
39+
}
40+
}

flow-frontend

Submodule flow-frontend updated 25 files

0 commit comments

Comments
 (0)