extas.json
{
"name": "extas/workflow-dashboard",
"env_params": [
{
"name": "EXTAS__WF__VIEW_BASE_PATH",
"title": "WF. Base path",
"description": "Base path for Workflow dashboard views"
},
{
"name": "EXTAS__WF__OPERATION_ALL",
"title": "WF. Operations specs",
"description": "Path for the operations json-rpc specs"
}
],
"jsonrpc_operations": [
{
"name": "state.load",
"title": "Load states",
"description": "Load states",
"method": "create",
"item_name": "",
"item_class": "",
"item_repo": "",
"class": "extas\\components\\jsonrpc\\states\\StateLoad",
"filter": "",
"version": 0,
"specs": {
"request": {
"type": "object",
"properties": {
"data": {
"type": "array"
}
}
},
"response": {
"type": "object",
"properties": {
"created_count": {
"type": "integer"
},
"got_count": {
"type": "integer"
}
}
}
}
},
{
"name": "transition.load",
"title": "Load transitions",
"description": "Load transitions",
"method": "create",
"item_name": "",
"item_class": "",
"item_repo": "",
"class": "extas\\components\\jsonrpc\\transitions\\TransitionLoad",
"filter": "",
"version": 0,
"specs": {
"request": {
"type": "object",
"properties": {
"data": {
"type": "array"
}
}
},
"response": {
"type": "object",
"properties": {
"created_count": {
"type": "integer"
},
"got_count": {
"type": "integer"
}
}
}
}
},
{
"name": "transition.by_state_from.index",
"title": "List transitions by state from",
"description": "List transitions by state from",
"method": "create",
"item_name": "",
"item_class": "",
"item_repo": "",
"class": "extas\\components\\jsonrpc\\transitions\\TransitionByStateFrom",
"filter": "",
"version": 0,
"specs": {
"request": {
"type": "object",
"properties": {
"schema_name": {
"type": "string"
},
"state_name": {
"type": "string"
},
"entity": {
"type": "object"
},
"context": {
"type": "object"
},
"filter": {
"type": "object",
"format": "filter",
"properties": {
"transition_name": {
"type": "string"
},
"in": {
"type": "array",
"items": {
"type": "string"
},
"description": "Один из"
}
}
}
}
},
"response": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"state_from": {
"type": "string"
},
"state_to": {
"type": "string"
}
}
}
}
}
},
{
"name": "schema.transition.add",
"title": "Schema. Add transition",
"description": "Add transition to the specific schema",
"method": "create",
"item_name": "",
"item_class": "",
"item_repo": "",
"class": "extas\\components\\jsonrpc\\schemas\\SchemaTransitionAdd",
"filter": "",
"version": 0,
"specs": {
"request": {
"type": "object",
"properties": {
"transition_name": {
"type": "string"
},
"transition_sample_name": {
"type": "string"
},
"schema_name": {
"type": "string"
},
"dispatchers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"priority": {
"type": "int"
},
"sample_name": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
}
}
}
}
}
},
"response": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
}
}
},
{
"name": "schema.transition.remove",
"title": "Schema. Remove transition",
"description": "Remove transition from the specific schema",
"method": "create",
"item_name": "",
"item_class": "",
"item_repo": "",
"class": "extas\\components\\jsonrpc\\schemas\\SchemaTransitionRemove",
"filter": "",
"version": 0,
"specs": {
"request": {
"type": "object",
"properties": {
"transition_name": {
"type": "string"
},
"schema_name": {
"type": "string"
}
}
},
"response": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
}
}
},
{
"name": "workflow.transit",
"title": "Transit entity",
"description": "Transit entity from one state to another",
"method": "create",
"item_name": "",
"item_class": "",
"item_repo": "",
"class": "extas\\components\\jsonrpc\\workflows\\WorkflowTransit",
"filter": "",
"version": 0,
"specs": {
"request": {
"type": "object",
"properties": {
"transition_name": {
"type": "string"
},
"entity": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"state": {
"type": "string"
}
}
},
"context": {
"type": "object"
}
}
},
"response": {
"type": "object",
"properties": {
"entity": {
"type": "object",
"properties": {
"state": {
"type": "string"
}
}
}
}
}
}
},
{
"name": "entity.transit",
"title": "Transit entity",
"description": "Transit entity from one state to another",
"method": "create",
"item_name": "",
"item_class": "",
"item_repo": "",
"class": "extas\\components\\jsonrpc\\entities\\EntityTransit",
"filter": "",
"version": 0,
"specs": {
"request": {
"type": "object",
"properties": {
"schema_name": {
"type": "string"
},
"transition_name": {
"type": "string"
},
"entity": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"state": {
"type": "string"
}
}
},
"context": {
"type": "object"
}
}
},
"response": {
"type": "object",
"properties": {
"entity": {
"type": "object",
"properties": {
"state": {
"type": "string"
}
}
}
}
}
}
}
],
"plugins": [
{
"class": "extas\\components\\plugins\\jsonrpc\\PluginBoardRoute",
"stage": "extas.jsonrpc.init"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\schemas\\SchemaExpandByEntity",
"stage": "expand.index.schema"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\transitions\\TransitionExpandByStateFrom",
"stage": "extas.expand.transition.state_from"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\transitions\\TransitionExpandByStateTo",
"stage": "extas.expand.transition.state_to"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\ExpandBySchema",
"stage": "extas.expand.transition.schema"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\states\\StateExpandByTransitions",
"stage": "extas.expand.state.transitions"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\states\\samples\\SampleExpandByStates",
"stage": "extas.expand.sample.states"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\schemas\\SchemaExpandByStates",
"stage": "extas.expand.schema.states"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\schemas\\SchemaExpandByTransitions",
"stage": "extas.expand.schema.transitions"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\schemas\\SchemaExpandByEntity",
"stage": "extas.expand.schema.entity"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\ExpandBySchema",
"stage": "extas.expand.schema"
},
{
"class": "extas\\components\\plugins\\workflows\\expands\\transitions\\TransitionExpandByDispatchers",
"stage": "extas.expand.transition.dispatchers"
},
{
"class": "extas\\components\\plugins\\workflows\\jsonrpc\\before\\transitions\\BeforeTransitionCreate",
"stage": "before.run.jsonrpc.transition.create"
},
{
"class": "extas\\components\\plugins\\workflows\\transitions\\ApplyConditions",
"stage": "extas.json.rpc.before.index.response.workflow.transition.index"
},
{
"class": "extas\\components\\plugins\\workflows\\transitions\\AfterTransitionDelete",
"stage": "extas.after.jsonrpc.operation"
},
{
"class": "extas\\components\\plugins\\workflows\\schemas\\AfterSchemaDelete",
"stage": "extas.after.jsonrpc.operation"
},
{
"class": "extas\\components\\plugins\\workflows\\jsonrpc\\before\\transitions\\BeforeTransitionUpdate",
"stage": "before.run.jsonrpc.transition.update"
},
{
"class": "extas\\components\\plugins\\workflows\\transitions\\BeforeTransitionDelete",
"stage": "extas.workflow_transitions.delete.before"
},
{
"class": "extas\\components\\plugins\\workflows\\jsonrpc\\before\\transitions\\dispatchers\\BeforeTransitionDispatcherCreate",
"stage": "before.run.jsonrpc.transition.dispatcher.create"
},
{
"class": "extas\\components\\plugins\\workflows\\jsonrpc\\before\\schemas\\BeforeSchemaCreate",
"stage": "before.run.jsonrpc.schema.create"
},
{
"class": "extas\\components\\plugins\\workflows\\jsonrpc\\before\\states\\BeforeStateDelete",
"stage": "before.run.jsonrpc.state.delete"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\ViewIndexIndex",
"stage": "view.index.index"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\schemas\\ViewSchemaEdit",
"stage": "view.schemas.edit"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\schemas\\ViewSchemaSave",
"stage": "view.schemas.save"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\states\\ViewStatesIndex",
"stage": "view.states.index"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\states\\ViewStateEdit",
"stage": "view.states.edit"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\states\\ViewStateSave",
"stage": "view.states.save"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\states\\ViewStateCreate",
"stage": "view.states.create"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\transitions\\ViewTransitionsIndex",
"stage": "view.transitions.index"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\transitions\\ViewTransitionEdit",
"stage": "view.transitions.edit"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\transitions\\ViewTransitionSave",
"stage": "view.transitions.save"
},
{
"class": "extas\\components\\plugins\\workflows\\views\\transitions\\ViewTransitionCreate",
"stage": "view.transitions.create"
}
]
}