Liking cljdoc? Tell your friends :D

wagoe.workflow.shell.http

HTTP API routes and admin web UI handlers for workflow management.

API Endpoints (canonical): GET /api/v1/workflow/instances?entity-type=&entity-id= — an entity's instances GET /api/v1/workflow/instances/:id — current state + metadata GET /api/v1/workflow/instances/:id/audit — full audit log POST /api/v1/workflow/instances — start a new workflow instance POST /api/v1/workflow/instances/:id/transition — execute a transition

Compatibility: /api/workflow/* redirects to /api/v1/workflow/* via versioning middleware.

Admin Web UI (mounted under /web/admin): GET /workflows — list all workflow instances GET /workflows/:id — instance detail with state viz + audit trail

Every route requires authentication and answers 401 without it.

HTTP API routes and admin web UI handlers for workflow management.

API Endpoints (canonical):
  GET  /api/v1/workflow/instances?entity-type=&entity-id= — an entity's instances
  GET  /api/v1/workflow/instances/:id            — current state + metadata
  GET  /api/v1/workflow/instances/:id/audit      — full audit log
  POST /api/v1/workflow/instances                — start a new workflow instance
  POST /api/v1/workflow/instances/:id/transition — execute a transition

Compatibility:
  /api/workflow/* redirects to /api/v1/workflow/* via versioning middleware.

Admin Web UI (mounted under /web/admin):
  GET  /workflows        — list all workflow instances
  GET  /workflows/:id    — instance detail with state viz + audit trail

Every route requires authentication and answers 401 without it.
raw docstring

handle-find-instancesclj

(handle-find-instances engine request)

GET /api/v1/workflow/instances?entity-type=…&entity-id=…

The entity's instances, one per workflow it is in; [] for none. Without their available transitions: GET /instances/:id has those.

GET /api/v1/workflow/instances?entity-type=…&entity-id=…

The entity's instances, one per workflow it is in; [] for none. Without
their available transitions: GET /instances/:id has those.
sourceraw docstring

handle-get-audit-logclj

(handle-get-audit-log engine request)

GET /api/v1/workflow/instances/:id/audit

GET /api/v1/workflow/instances/:id/audit
sourceraw docstring

handle-get-instanceclj

(handle-get-instance engine request)

GET /api/v1/workflow/instances/:id

GET /api/v1/workflow/instances/:id
sourceraw docstring

handle-get-instance-webclj

(handle-get-instance-web store registry request)

GET /workflows/:id — render the workflow instance detail page. An id that is not a UUID names no instance: 404, like an unknown one.

GET /workflows/:id — render the workflow instance detail page. An id that
is not a UUID names no instance: 404, like an unknown one.
sourceraw docstring

handle-list-instances-webclj

(handle-list-instances-web store request)

GET /workflows — render the workflow instances list page.

GET /workflows — render the workflow instances list page.
sourceraw docstring

handle-start-workflowclj

(handle-start-workflow engine request)

POST /api/v1/workflow/instances

POST /api/v1/workflow/instances
sourceraw docstring

handle-transitionclj

(handle-transition engine request)

POST /api/v1/workflow/instances/:id/transition

POST /api/v1/workflow/instances/:id/transition
sourceraw docstring

workflow-routesclj

(workflow-routes engine)

Reitit route data for the workflow API. Mounted under /api/v1.

The POST routes declare their body schema, which is what makes [:parameters :body] exist. Without it the handlers read nil whatever the caller sent, and a POST was answered from an empty body rather than refused (BOU-478).

Every route requires a signed-in user. The global authenticate-if-present sets :user from a bearer token or a session; the interceptor refuses the request without one, with the same 401 the scaffolded APIs give.

Args: engine - WorkflowService (IWorkflowEngine)

Reitit route data for the workflow API. Mounted under /api/v1.

The POST routes declare their body schema, which is what makes
`[:parameters :body]` exist. Without it the handlers read nil whatever the
caller sent, and a POST was answered from an empty body rather than
refused (BOU-478).

Every route requires a signed-in user. The global `authenticate-if-present`
sets `:user` from a bearer token or a session; the interceptor refuses the
request without one, with the same 401 the scaffolded APIs give.

Args:
  engine - WorkflowService (IWorkflowEngine)
sourceraw docstring

workflow-web-routesclj

(workflow-web-routes store registry user-service)

Web routes for the workflow admin UI, as Reitit data.

Routes are mounted under /web/admin by the HTTP handler: GET /web/admin/workflows — list all workflow instances GET /web/admin/workflows/:id — instance detail + audit trail

Route-level :middleware is Reitit's own and applies to every endpoint beneath it — the :meta wrapper this used to need is gone (ADR-037).

Args: store - IWorkflowStore registry - IWorkflowRegistry user-service - IUserService (for authentication middleware)

Web routes for the workflow admin UI, as Reitit data.

Routes are mounted under /web/admin by the HTTP handler:
  GET /web/admin/workflows        — list all workflow instances
  GET /web/admin/workflows/:id    — instance detail + audit trail

Route-level `:middleware` is Reitit's own and applies to every endpoint
beneath it — the `:meta` wrapper this used to need is gone (ADR-037).

Args:
  store        - IWorkflowStore
  registry     - IWorkflowRegistry
  user-service - IUserService (for authentication middleware)
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close