Commit graph

80 commits

Author SHA1 Message Date
Sipke Schoorstra 4e99f37b77 Fix target type discovery
When trying to locate a memory block from a reference, we need to search the hierarchy.
2023-05-11 16:53:33 +02:00
Sipke Schoorstra 796c6cbc2b HTTP parser: parse object into ExpandoObject 2023-05-10 16:10:24 +02:00
Sipke Schoorstra e799381001 Ensure ExpandoObject array properties are deserialized as arrays
This also enables the use of jint's isArray method to return true, since the object is now an actual array.
2023-05-10 13:57:44 +02:00
herblinernexxbizz 8cec7615aa
remove polymorphicobjectconverter for http serialization (#4018) 2023-05-10 10:18:18 +02:00
Sipke Schoorstra 47ed8e3571
Cleanup IActivity interface (#4010)
* Update activity names and descriptions

* Rename JS functions

* Make endpoint class internal

* Pre-create workflow instance ID when dispatching workflows
2023-05-08 22:38:59 +02:00
Sipke Schoorstra 9b6c08bf38
Fix HTTP triggers not being updated (#3985)
* Fix triggers not being replaced

* XML comments and minor DI changes
2023-05-01 12:06:51 +02:00
Sipke Schoorstra 0ea463fdd0
Add JSON workflow provider (#3955)
* Refactor import models

* Update API endpoints

* Add console sample to run workflow from JSON

* Add FluentStorage provider for JSON workflows + sample
2023-04-25 22:15:11 +02:00
Sipke Schoorstra 53dcd11f17
Send HTTP error when workflow faults (#3937)
* Implement workflow fault handling in HTTP context

* Handle faulted workflows across process boundariesl
2023-04-20 20:45:27 +02:00
Sipke Schoorstra c8d87cd763
Simplify Proto.Actor bookmarks and triggers (#3917)
* 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
2023-04-17 15:23:05 +02:00
Sipke Schoorstra c3ed7e7865
Improve JSON serializationfor workflow state (#3913)
* 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
2023-04-17 00:11:58 +02:00
Sipke Schoorstra 98e0b4ae5f Graceful handling of task cancellation 2023-04-13 20:35:55 +02:00
Sipke Schoorstra d7c6d07c5a Update background activity invoker to only transport workflow-stored variables 2023-04-10 15:32:40 +02:00
Sipke Schoorstra 5aefa30886 Rename helper TryGet to GetOrDefault 2023-03-24 20:57:27 +01:00
Sipke Schoorstra 57882a5a80 Add support for triggering event synchronous and specific workflow instance targeting 2023-03-20 21:38:00 +01:00
Sipke Schoorstra fad27d0fb0
Refactor composite activity input and scoped memory (#3815)
* Incremental work

* Enable control over when to include full compositie root

* Cleanup

* Update WorkflowDefinitionActivity

* Implement input as variables

* Delete unused class

* Remove less common types

* Rename ExpandoObject to JSON

* Implement variable scoping

* Remove parent/child relationship from MemoryRegister

* Add support for sending input to "trigger event" endpoint

* Add support for configuring input storage driver

* Remove unused namespace imports

* Auto-register activity types when running a workflow

* Fix missing variables from containers
2023-03-20 19:55:11 +01:00
Sipke Schoorstra a9e67b9b1c Add support for object literals to Outcome activity 2023-03-17 21:11:55 +01:00
Sipke Schoorstra 08069c40d2
Implement outcomes for SendHttpRequest activity (#3787) 2023-03-11 22:14:39 +01:00
Sipke Schoorstra d85e8a6c5e Improve automatic handling of content parsing and writing 2023-03-09 11:24:00 +01:00
Sipke Schoorstra ba02b80fb0 Rename catch-all outcome 2023-03-09 11:23:35 +01:00
Sipke Schoorstra 93288fa557 Implement response header parsing for HTTP Response activity 2023-03-09 10:24:38 +01:00
MariusVuscanNx 4e6a4031ab
Workflow fault should be handled after execution (#3778) 2023-03-08 14:36:26 +01:00
Sipke Schoorstra ec47f93047 Small change in workflow filter terminology 2023-03-08 10:09:25 +01:00
MariusVuscanNx c30586cd9e
Implemented workflow authorization (#3773)
* 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
2023-03-08 09:49:43 +01:00
Sipke Schoorstra 83fb433ffc Add alias for dictionary type 2023-03-07 22:02:46 +01:00
Sipke Schoorstra 9c52c3b0e4
Implement flexible header parsing (#3771) 2023-03-07 14:54:21 +01:00
herblinernexxbizz 154c1ad469
Get route parameters, querystring parameters and headers (#3769)
* Get route parameters, querystring parameters and headers

* clean up code
2023-03-07 14:44:34 +01:00
Sipke Schoorstra b1564bf646
HTTP Request with status codes as outcomes (#3768)
* Implement configurable expected status outcomes on HTTP Request activity

* Add Catch all outcome

* Implement dynamic port update
2023-03-07 13:45:58 +01:00
Sipke Schoorstra b8bc628555 Allow bookmark props to be excluded from hash 2023-03-06 12:15:11 +01:00
Sipke Schoorstra 1a713b4619
Rename "services" to "contracts" and "implementations" to "services" (#3758) 2023-03-03 22:47:23 +01:00
Sipke Schoorstra 00bd3228f6 Restructure contracts vs services namespace 2023-03-03 14:48:05 +01:00
MariusVuscanNx c554f5c55f
Feature/workflow execution status codes (#3750)
* 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
2023-03-02 10:27:11 +01:00
Sipke Schoorstra 6281299b6a
Update NuGet package references (#3734)
* Update package references

* Accommodate FastEndpoint API changes
2023-02-23 14:49:46 +01:00
Sipke Schoorstra e74133c52b
Add dictionary support (#3704) 2023-02-15 12:09:45 +01:00
Sipke Schoorstra 0dd3e2bad8
Tweaks and fixes (#3672)
* Various additions and tweaks

* Fix WriteHttpResponse when no content type provided

* Bump designer version

* Return when sending response

* Remove faulty validation
2023-02-03 14:29:44 +01:00
Sipke Schoorstra c119724b73 Update JSON content parser with support for enum names 2023-01-31 12:40:50 +01:00
Sipke Schoorstra 55670ea949 Fix text content factory with default media type 2023-01-31 12:40:29 +01:00
gurkanguran 407bfa6913
Use workflow definition as activity (#3654)
* Implemented usage of workflow definitions as activities

* Updated designer

* Removed activity definitions module

* Allow user to mark workflow to be used as activity

* Refactor

* Refactor

* Cleanup csproj

* Cleanup WorkflowDefinitionActivity

* Pascalize typename

* Fix JS intellisense initial load issue

* Add XML comments

* Add Jobs dependency

* Hide Composite root port from designer

* Move finding workflow activities logic to lower level

* Generate unique identities across hierarchy

* Refactor

* Revert "Generate unique identities across hierarchy"

This reverts commit 74f5e7830309ee76af6ab3a000a5e1ec41f1e90c.

* Implement unique node IDs

* Introduce new VersionOptions option

* Remove unused namespaces

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-01-28 00:36:03 +01:00
Sipke Schoorstra 2697f512e9 Implement XML content writer 2023-01-24 22:39:31 +01:00
Sipke Schoorstra 061daa206d Implement dynamic HTTP content writing 2023-01-24 21:48:05 +01:00
Sipke Schoorstra 6dba654e9f Make HTTP bookmark processing reusable 2023-01-24 21:03:50 +01:00
Sipke Schoorstra 98d0920cfc Add support for array variables and fix serialization issue with proto 2023-01-23 23:30:00 +01:00
Sipke Schoorstra b7a9607951 Fix SendHttpRequest activity
Fixes an issue where an exception occurs when no content is provided
2023-01-23 15:57:38 +01:00
Sipke Schoorstra 2eda8dfd3b Improve JSON expression type handling 2023-01-20 19:02:29 +01:00
Sipke Schoorstra 354781e193 Rename Activity to CodeActivity and ActivityBase to Activity 2023-01-19 21:49:24 +01:00
Gürkan Güran 4f000c641b Added content-type and headers options for HttpResponse activity 2023-01-18 13:00:27 +01:00
Sipke Schoorstra 9fc01875d2 Fix potential NRE in HTTP activities when attempting to determine target type 2023-01-17 12:22:44 +01:00
Sipke Schoorstra 0e1922621e
HTTP activity body parsing (#3631)
* Implement content parsers and update SendHttpRequest

* Fix parsers

* Fix parser ordering

* Implement content parsing for HTTP Endpoint activity

* Cleanup

* Remove unused models

* Update file name to match class name
2023-01-16 19:42:45 +01:00
Sipke Schoorstra 2c65081110
MassTransit activities (#3613)
* Implement MessageReceived for MT

* Implement Publish activity provider

* Only create Publish activity for class types

* Add MassTransit sample project

* Fix comment
2023-01-10 14:32:14 +01:00
Sipke Schoorstra cbbac57e6f
Implement variables panel on workflow instance viewer (#3589)
* Small visual improvement for embedded ports

* Implement variables view for workflow instance viewer
2023-01-03 19:15:05 +01:00
Sipke Schoorstra 7a98cdf60d
Normalize extensions namespaces (#3577) 2022-12-31 16:16:43 +01:00