post https://{base_url}/core/api/v1/state-machine/config/
This endpoint is for creating a new State Machine configuration (states, sub-states, and state transition rules) of an Entity Type. For example, users, bags, boxes, vehicles, etc. specified by entityType.
Some Assumptions:
- It is assumed that main states in config are always sequential.
- Since it's sequential, the first main states' default substate would be the state of a new entity type instance created.
- Also, only the last main state would have the list of terminal states defined, no other main state would have terminal states.
For each non-terminal sub-state, at least one state transition rule is expected. There are 2 types of transitions possible.
Important:
- The state machine cannot be partially updated.
- Once the state machine is created for a particular entity type, the main states cannot be modified. Tenant can only add/update substates. Addition/updation of rest all configurations, except names of main states, is allowed.