Commit graph

1140 commits

Author SHA1 Message Date
Sipke Schoorstra 6ff6cc6826 Refactor expression descriptors and remove unnecessary async calls
This commit refactors how expression descriptors are created and retrieved across Elsa project. The asynchronous methods have been simplified to synchronous ones removing unnecessary `ValueTask` returns. Additionally, `IExpressionDescriptorRegistryPopulator` has been removed resulting in less complexity and better performance.
2023-12-10 21:43:24 +01:00
Sipke Schoorstra cc18e99d24 Refactor HTTP headers in Elsa
Removed HttpResponseHeaders class and refactored HttpRequestHeaders class into HttpHeaders. This commit merges the separate classes to represent HTTP headers into a single class, HttpHeaders. It also includes updates to the related files like HttpJavaScriptHandler and SendHttpRequestBase to reflect these changes.
2023-12-08 21:53:43 +01:00
Sipke Schoorstra faf8fd1df6
Enhanced ObjectConverter to Return JsonObject Instead of JsonElement (#4686)
* Incremental work

* Refactor code for JSON object handling and workflow context

This commit includes a significant rework of JSON object handling by ensuring produced JsonObject remains as JsonObject. Previously unimplemented customer and order workflow context providers have been removed. The test cases have been renamed and updated to confirm the new behavior is working as expected.
2023-12-08 20:57:07 +01:00
MariusVuscanNx 2dc584fac7
Implemeted FlowFork activity (#4684) 2023-12-07 22:29:05 +01:00
Sipke Schoorstra 683f0ee6d8
Add Bulk Dispatch Workflow activity (#4683)
* Initial version of BulkDispatchWorkflow

* Update comments

* Refactor options models for running workflows and add Properties

* Fix resumption

* Add ability to provide arguments when evaluating expressions

* Update args syntax for JS

* Fix ProtoActor Runtime Properties mapping

* Use default constructor

* Provide completed workflow instance ID as input to BulkDispatchWorkflows

* Implement ChildFaulted port

* Switch to Publish to make Memory service bus work

* Update input evaluation and activity output retrieval

Refined the input evaluation process to only consider inputs with AutoEvaluate set to true. Added a comment to clarify the purpose of the GetActivitiesWithOutputs method. Removed the unnecessary check for AutoEvaluate from the EvaluateInputPropertyAsync method.
2023-12-06 22:32:08 +01:00
Sipke Schoorstra 50ac0e9371 Exclude Start field from being serialized 2023-11-30 12:14:01 +01:00
Sipke Schoorstra 811ab7702d Fix conversion of dynamic values to T 2023-11-29 20:30:38 +01:00
Sipke Schoorstra 213f114cfc Add support for JsonObject to target type conversion 2023-11-29 15:09:00 +01:00
Sipke Schoorstra bca5a8c545 Change C# Variable to Variables 2023-11-27 20:50:47 +01:00
Sipke Schoorstra fa1e9ba70f Add check to InputJsonConverterFactory
As of .NET 8, base type Input is also seen.
2023-11-27 20:37:44 +01:00
Sipke Schoorstra 40fce04a14 Fix BulkUpsert for EF Core 8 2023-11-27 19:25:44 +01:00
Sipke Schoorstra bec8cbc322
Target .NET 8 (#4660) 2023-11-27 11:26:16 +01:00
Sipke Schoorstra 48e9963d6e Split import endpoints
This fixes an issue where the import of JSON content returns 415.
2023-11-24 21:54:08 +01:00
Sipke Schoorstra c08388ec07 Update JsonContentFactory to use StringContent
This fixes an issue that Content-Length header is not included when using JsonContent, which is problematic for certain backend APIs.
2023-11-24 20:11:28 +01:00
Sipke Schoorstra 14d7ec18d6 Handle user-usage of $id key in JSON objects 2023-11-23 20:30:58 +01:00
Sipke Schoorstra c10e1b4232 Update TriggerIndexer to return modifiable lists 2023-11-22 20:47:15 +01:00
Sipke Schoorstra c841b3511f Handle attempts to serialize unserializable values 2023-11-22 20:46:40 +01:00
Sipke Schoorstra f033631b30 Fix FlowSendHttpRequest Done outcome
This fixes an issue where Done is not always triggered
2023-11-22 20:46:12 +01:00
Sipke Schoorstra 225a99f39d
Bulk Import + Export of Workflow Definitions and Instances (#4643)
* Implement bulk export of workflow definitions

* Update Import endpoint with support for file uploads

* Update Import endpoint to return imported workflow count

* Implement workflow instance (bulk) export

* Implement workflow state, bookmark, workflow + activity execution export

* Remove globally imported usings
2023-11-22 14:31:48 +01:00
Sipke Schoorstra 95bdcc64b6 Fix output mapping
Fixes #4566
2023-11-19 22:04:41 +01:00
Sipke Schoorstra fbcb6ae493 Merge branch 'v3' of https://github.com/elsa-workflows/elsa-core into v3 2023-11-19 21:13:26 +01:00
Sipke Schoorstra 0c8fa75a47 Replace IronPython implementation with Python.NET
#4164
2023-11-19 21:13:19 +01:00
jdevillard e518ec60c1
Features : Allow Customization of DbContext Schema (#4638)
* Implement Changing DB Migration Schema At Runtime

* Add Schema Customization for SQL Server Provider

* Add Schema Customization for PostreSql  Provider

* Add Schema Customization for MySql  Provider

---------

Co-authored-by: Jérémie DEVILLARD <jdevillard@users.noreply.github.com>
2023-11-19 10:22:13 +01:00
GitHub Action dae7591726 Updated designer version to 3.0.3-preview.209 2023-11-18 12:41:37 +00:00
Sipke Schoorstra bf205c72b9 Fix SetOutput handling 2023-11-17 20:59:09 +01:00
Borja Fernández 7fe05f491d
Complete activity if items count is 0 (#4623) 2023-11-15 21:00:34 +01:00
jdevillard 17f5218285
Change endpoint to Post (#4619)
* Change endpoinit to Post

* change Post for Api Client

---------

Co-authored-by: Jérémie DEVILLARD <jdevillard@users.noreply.github.com>
2023-11-15 20:50:56 +01:00
Sipke Schoorstra 21e438bdd1
Add Azure Service Bus for MassTransit (#4624)
* Split RabbitMQ from MassTransit and add Azure Service Bus package

* Use Send topology for commands
2023-11-15 20:47:11 +01:00
Sipke Schoorstra 3a4b15be13 Fix output mapping naming collision 2023-11-15 15:13:19 +01:00
Sipke Schoorstra e4d6ad22c4
Decouple Expression Types (#4622)
* Refactor Expressions model

* Enable expression type filtering

* Implement dynamic enablement of satelite dependencies
2023-11-14 20:44:42 +01:00
kirill 13e9e4fc65
Add Input Validation for Elsa.Identity Login Endpoint (#4601)
* add validator for login request

* login request: only require parameters to be not null (allow empty/whitespace)
2023-11-13 20:40:01 +01:00
Sipke Schoorstra 883ca85753 Handle workflows marked as activities with duplicate names 2023-11-10 22:08:59 +01:00
Sipke Schoorstra f0f39bec77 Fix flowchart completion miss
Added a check to take into account scheduled work who's owner is tje flowchart
2023-11-10 22:08:35 +01:00
Sipke Schoorstra 12b57a9abe Add support for single-value headers 2023-11-09 14:28:06 +01:00
Sipke Schoorstra 6552af5c59 Merge remote-tracking branch 'origin/v3' into v3 2023-11-09 13:35:08 +01:00
Sipke Schoorstra cd33d29768 Add support for direct-output binding
This change enables activity output to be directly bound to workflow output.
2023-11-09 13:35:02 +01:00
jdevillard 1b48305418
Enhancement/runtime options provider#4491 (#4614)
* add Endpoint to fetch data from options provider

* add Api Client Contract

* add context object in Endpoint

* Update Api Client Contract for Context

---------

Co-authored-by: Jérémie DEVILLARD <jdevillard@users.noreply.github.com>
2023-11-09 13:01:51 +01:00
Sipke Schoorstra f3beca94dc Fix merge issue 2023-11-04 18:47:14 +01:00
Sipke Schoorstra 8ca21ead16 Merge branch 'python' into v3 2023-11-04 18:39:02 +01:00
Sipke Schoorstra 2f3713bc35 Add option to register script scope configurations and expose wf properties 2023-11-04 18:38:11 +01:00
Sipke Schoorstra f8e0f20296
Add Python Expression support (#4600)
* Scaffold Python project

* Add Workflow Variable accessor

* Add RunPython activity

* Add option to register scripts via options
2023-11-04 18:15:56 +01:00
Sipke Schoorstra 3c13cbcc25 Fix XML comment 2023-11-04 18:14:52 +01:00
Sipke Schoorstra 2efd04cf53 Add option to register scripts via options 2023-11-04 18:08:56 +01:00
Sipke Schoorstra d1051cafb4 Add RunPython activity 2023-11-04 12:48:35 +01:00
Sipke Schoorstra cc6b2d6582 Add Workflow Variable accessor 2023-11-04 00:23:37 +01:00
Sipke Schoorstra 410d9ef9c6 Add FodyWeavers.xml 2023-11-03 22:32:19 +01:00
Sipke Schoorstra c5a88b01ea Scaffold Python project 2023-11-03 22:32:06 +01:00
Sipke Schoorstra ab32474c29 Refactor C# expression APIs 2023-11-03 22:01:19 +01:00
Sipke Schoorstra 5d1a1aaf86
Add C# expression support (#4594)
* Initial version of c# expressions

* Add support for strongly-typed workflow variable accessors

* Fix type casting

* Rename c# to C# in XML comments

* Rename Globals.Context to ExecutionContext and Variables to Context

* Move RunJavaScript activity to Elsa.JavaScript

* Add RunCSharp activity

* Add CSharpOptions

* Add common workflow properties and methods
2023-11-03 20:28:10 +01:00
Borja Fernández 643a895d70
Support for Oracle (#4592) 2023-11-01 10:42:32 +01:00