Class WorkflowApiResource

java.lang.Object
com.scivicslab.workfloweditor.rest.WorkflowApiResource

@Path("/api") public class WorkflowApiResource extends Object
REST API for external control of the workflow editor. Enables programmatic workflow manipulation from coder-agent or other tools.
  • Constructor Details

    • WorkflowApiResource

      public WorkflowApiResource()
  • Method Details

    • getWorkflow

      @GET @Path("/workflow") @Produces("application/json") public WorkflowApiResource.WorkflowDto getWorkflow()
    • putWorkflow

      @PUT @Path("/workflow") @Consumes("application/json") @Produces("application/json") public Map<String,Object> putWorkflow(WorkflowApiResource.WorkflowDto dto)
    • addStep

      @POST @Path("/workflow/steps") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response addStep(WorkflowResource.MatrixRow row, @QueryParam("index") Integer index)
    • updateStep

      @PUT @Path("/workflow/steps/{index}") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response updateStep(@PathParam("index") int index, WorkflowResource.MatrixRow row)
    • deleteStep

      @DELETE @Path("/workflow/steps/{index}") @Produces("application/json") public jakarta.ws.rs.core.Response deleteStep(@PathParam("index") int index)
    • exportYaml

      @GET @Path("/yaml/export") @Produces("text/plain") public String exportYaml()
    • importYaml

      @POST @Path("/yaml/import") @Consumes("text/plain") @Produces("application/json") public Map<String,Object> importYaml(String yaml)
    • runYaml

      @POST @Path("/run/yaml") @Consumes("text/plain") @Produces("application/json") public Map<String,String> runYaml(String yaml, @QueryParam("maxIterations") Integer maxIterations)
    • status

      @GET @Path("/status") @Produces("application/json") public Map<String,Object> status()
    • resume

      @POST @Path("/resume") @Produces("application/json") public Map<String,String> resume()
    • getTransitions

      @GET @Path("/workflow/transitions") @Produces("application/json") public List<Map<String,Object>> getTransitions()
    • addAction

      @POST @Path("/workflow/transitions/{tIndex}/actions") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response addAction(@PathParam("tIndex") int tIndex, WorkflowResource.MatrixRow action, @QueryParam("index") Integer aIndex)
    • updateAction

      @PUT @Path("/workflow/transitions/{tIndex}/actions/{aIndex}") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response updateAction(@PathParam("tIndex") int tIndex, @PathParam("aIndex") int aIndex, WorkflowResource.MatrixRow action)
    • deleteAction

      @DELETE @Path("/workflow/transitions/{tIndex}/actions/{aIndex}") @Produces("application/json") public jakarta.ws.rs.core.Response deleteAction(@PathParam("tIndex") int tIndex, @PathParam("aIndex") int aIndex)
    • listTabs

      @GET @Path("/tabs") @Produces("application/json") public Map<String,Object> listTabs()
    • createTab

      @POST @Path("/tabs") @Consumes("application/json") @Produces("application/json") public Map<String,Object> createTab(Map<String,String> body)
    • deleteTab

      @DELETE @Path("/tabs/{name}") @Produces("application/json") public jakarta.ws.rs.core.Response deleteTab(@PathParam("name") String name)
    • activateTab

      @PUT @Path("/tabs/{name}/activate") @Produces("application/json") public jakarta.ws.rs.core.Response activateTab(@PathParam("name") String name)
    • renameTab

      @PUT @Path("/tabs/{name}/rename") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response renameTab(@PathParam("name") String name, Map<String,String> body)
    • loadJar

      @POST @Path("/loader/load-jar") @Consumes("application/json") @Produces("application/json") public Map<String,Object> loadJar(Map<String,String> body)
    • createChild

      @POST @Path("/loader/create-child") @Consumes("application/json") @Produces("application/json") public Map<String,Object> createChild(Map<String,String> body)
    • getActorTree

      @GET @Path("/actors/tree") @Produces("application/json") public List<Map<String,Object>> getActorTree()
    • getActorData

      @GET @Path("/actors/{name}/data") @Produces("application/json") public jakarta.ws.rs.core.Response getActorData(@PathParam("name") String name)
    • availablePlugins

      @GET @Path("/plugins/available") @Produces("application/json") public List<Map<String,Object>> availablePlugins()
    • availableWorkflows

      @GET @Path("/workflows/available") @Produces("application/json") public List<Map<String,String>> availableWorkflows()
    • loadWorkflow

      @POST @Path("/workflows/load") @Consumes("application/json") @Produces("application/json") public Map<String,Object> loadWorkflow(Map<String,String> body)