* Implement Incident Strategy interface and resolver
* Add ActivityIncident model
* Add IncidentCount and Incidents properties and update migrations
* Expose incident strategies API endpoint
* Update API client with Incident Strategy models
* Replace Fault with Incidents
* Register fault status when any children have faulted
* Map incident count
* Remove unnecessary AlreadyCompleted result
* Ensure next activities are scheduled only if activity completed normally
* Incident roundtrip and fix workflow instance realtime updates
* Remove unused variable
* Add integration tests
* Implemented MongoDb
* Use main entity models in mongodb
* Fixed object serialization issue
* Fixed issues caused by duplicate collection names
* Optimized count query
* Fixed the issues after merge
* Revert "Fixed the issues after merge"
This reverts commit 5568af60cfc107b8ee68fd4c89fbb02946f8a6a3.
* Use expression helper to solve mongodb query issue
* Handle null values during deserialization
* Moved MongoDb project to persistence folder
* Did some refactor and added type serializer for variable fix
* Modularize mongodb indices creation
* Fixed the build
* Implement variable serializer
* Update SQLite migrations
---------
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* Fixes the issue with httpendoint not being suspended #4143
* Simplify HttpEndpoint and bookmark processor
* Fix issue with null workflow state ID
* Remove implicit instalment of EF Core provider for Trigger and Bookmark store
---------
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* Refactor HTTP route table population
* Update workflow definition EF store to use abstract IWorkflowInstanceStore
This decoupling is necessary, because the application might not be using EF Core, but e.g. Elasticsearch
* Move workflow state persistence to the default workflow runtime feature
* Update JS handler to provide access to variables during trigger indexing
* Configure Proto.Actor runtime with different workflow pipeline
* Add sample using Proto.Actor runtime
* Replace BookmarkGrain with DB based persistence
* Incremental work on WorkflowStateSerializer
* Update Flow HTTP Request activity to default to Done outcome
* Fix reference handling
* Fix polymorphic object converter
* Add comments
* Add support for registering type alias during DI setup via options
* Fix trigger and bookmark payload persistence
* Update sample model
* Add support for custom dictionary types
* Split general serializer options provider into focused serializer services
* Formatting
* Update migrations
* Returned 404 when path is not found and 500 when there are multiple workflows with the same path
* Return failure response in case of workflow fault
* Started workflow authorization implementation
* Implemented workflow authorization
* Add array support for input/output arguments
* Add alias support for nullable types
* Refactor workflow definition store API
* Fix array and ui hint setting of input/output definition
* Refactor workflow instance store API
* Add XML comments
* Refactor trigger and bookmark store API
* Lock on specific hash for new workflows and split between trigger new /& existing workflows
* Update flowchart to take into account the triggered activity to start
* Use dispatcher for resuming parent workflows
* Update logging middleware (and remove it by default)
* Implemented workflow sink module
* Sequentual process of saving sinks in single consumer
* Refactor
* Log errors during sink export
* Removed redundant classes
* Use in process messaging in bundle
* Fixed the issue with duplicated ResultVariable key on serializing
* Moved workflowsink modules out of persistence projects
* Moved migrations out of old projects
Co-authored-by: Gürkan Güran <grkngrn@gmail.com>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
* Add support for converting lists of things
* Add support for workflows returning a result
* Formatting
* Fix that While would complete twice
* Add convenience methods to access workflow input
* Schedule the workflow itself instead of just its root
* Add Output dictionary to workflow execution context
* Ad samples to demonstrate workflows returning results