Commit graph

1207 commits

Author SHA1 Message Date
Sipke Schoorstra 404f8b6fb5 Fix project reference path 2021-04-13 15:56:07 +02:00
Sipke Schoorstra 3a175936a9 Re-register Azure Service bus workers when workflows get published or retracted 2021-04-13 15:55:28 +02:00
Sipke Schoorstra c120dbd975 Remove debugger statement 2021-04-13 13:17:39 +02:00
Sipke Schoorstra 06233e7c05 Add JavaScript support for accessing appsettings 2021-04-13 13:17:24 +02:00
Sipke Schoorstra 5bab13e9f9 Add Liquid support for accessing appsettings 2021-04-13 12:57:58 +02:00
Sipke Schoorstra 1d1154723f Fix workflow settings error 2021-04-13 12:55:17 +02:00
Sipke Schoorstra 632087b12f Fix label display 2021-04-13 12:54:54 +02:00
Sipke Schoorstra a8de0f70c7 Handle null or empty queue names 2021-04-13 12:54:31 +02:00
Sipke Schoorstra 644f3cb95e Fix project reference path 2021-04-13 11:09:39 +02:00
Sipke Schoorstra 094eccd572 Implement Switch expression evaluation 2021-04-12 22:29:58 +02:00
Sipke Schoorstra b00eea3c6d Implement Switch UI with multi-expression support 2021-04-12 22:29:58 +02:00
Sipke Schoorstra 39041f6394 Extract multi-syntax expression editor component 2021-04-12 22:29:58 +02:00
Sipke Schoorstra bf7e7894ff Rename workflow definition editor notifications component 2021-04-12 22:29:58 +02:00
Sipke Schoorstra 5b3b11e2b5 Rename drivers folder 2021-04-12 22:29:58 +02:00
Sipke Schoorstra 7991d4a468 Fix locking bug 2021-04-12 22:29:58 +02:00
Sipke Schoorstra 08bc052a03 Incremental work on ASP.NET Core reference application for dashboard 2021-04-12 22:29:58 +02:00
Sipke Schoorstra 017897095a Rename stencil app components 2021-04-12 22:29:58 +02:00
jdevillard 0062585709 return object if it is already the good type 2021-04-09 22:24:53 +02:00
Sipke Schoorstra 9709ee6ca2 Implement search 2021-04-09 21:47:44 +02:00
Sipke Schoorstra 8900443669 Implement pagination 2021-04-09 21:26:42 +02:00
Sipke Schoorstra 4dbee3a7b3 Fix that subscriptions weren't created 2021-04-09 17:46:45 +02:00
Sipke Schoorstra 9defb83ba8 Lock on correlation ID to prevent race condition between incoming events and newly started workflows not yet persisted 2021-04-09 17:46:31 +02:00
Sipke Schoorstra 748df07087 Fix TriggerWorkflows to select only Suspended instances 2021-04-09 17:01:15 +02:00
Sipke Schoorstra 86d958e4e8 Incremental work on pager 2021-04-09 17:01:15 +02:00
Sipke Schoorstra c1a5981485 Implement Delete and Bulk Delete 2021-04-09 17:01:15 +02:00
Sipke Schoorstra 08ea83154c Implement workflow instance selection 2021-04-09 17:01:15 +02:00
Sipke Schoorstra b5dc232c13 Implement sort by status 2021-04-09 17:01:15 +02:00
Sipke Schoorstra 9774e35e12 Fix date conversion issue with Sqlite provider 2021-04-09 17:01:15 +02:00
Sipke Schoorstra 6e3c8d48ac Incremental work on workflow instances list screen 2021-04-09 17:01:15 +02:00
Sipke Schoorstra 0bc41fc9b4 Incremental work on workflow instances list screen 2021-04-09 17:01:14 +02:00
Craig Fowler 57e38425ae
Merge pull request #846 from craigfowler/feature/751-postgres-yessql-exception
Resolve #751 - Crash when using PostgreSql with YesSQL
2021-04-08 16:53:58 +01:00
Sipke Schoorstra f074260211 Update DistributedLockProvider to not throw, but return a null handle 2021-04-08 14:53:15 +02:00
Craig Fowler 22326f1bab Resolve #751 - Fixes the reported problem 2021-04-07 22:26:21 +01:00
Craig Fowler 8798d6bd42 WIP #751 - Fix an issue with migrations
Rather oddly, the migrations weren't committing, and so the index
tables never got created.
2021-04-07 22:25:49 +01:00
Craig Fowler 53b16dee4f WIP #751 - Fix a bug in YesSQL init
As of this commit, the integration test fails for the exact same reason
as the reported issue describes.
2021-04-07 21:11:40 +01:00
Craig Fowler fa7601ca1a WIP #751 - Add integration test for using Postgres
From this commit onwards, in order to run all of the tests, you
must now have postgresql installed and running on your dev
environment.  The credentials/config is:
* Database name: elsa-yessql
* Username: postgres (this is the default anyway)
* Password: Password12! (this matches AppVeyor's postgres password)
* Port: 5432 (this is the default anyway)
2021-04-07 20:38:13 +01:00
Sipke Schoorstra f7529fbb63 Fix liquid handler for JValue 2021-04-07 21:07:19 +02:00
Sipke Schoorstra a0d345bebd Fix timing issue of workflow resumption by always storing new workflow instances before executing 2021-04-07 21:07:00 +02:00
Luca Pisano 8f82354b93 added cancellation token to async methods 2021-04-07 16:32:48 +02:00
Luca Pisano d0a48d5fb4 addressed revision suggestions 2021-04-07 16:32:29 +02:00
Sipke Schoorstra 52cd21d0ff Fix distributed lock extensions 2021-04-07 15:36:08 +02:00
Sipke Schoorstra ae46e0e143 Update packages and accommodate for breaking changes 2021-04-07 14:48:30 +02:00
Sipke Schoorstra 74839211b8 Mark Z.EntityFramework.Plus.EFCore with private assets = all 2021-04-07 13:34:51 +02:00
Sipke Schoorstra bbbb8a40f4 Fix activity type access bug 2021-04-07 13:13:13 +02:00
Sipke Schoorstra ce957b95e7 Cleanup 2021-04-07 13:13:13 +02:00
Sipke Schoorstra 0a02dc5cc2 Update extensions for Azure distributed lock 2021-04-07 13:13:13 +02:00
Sipke Schoorstra df6ad74eec Replace custom distributed locking implementation with DistributedLock
https://github.com/madelson/DistributedLock
2021-04-07 13:13:13 +02:00
Sipke Schoorstra 031f75041a Update Blazor bindings 2021-04-07 11:18:58 +02:00
Luca Pisano 2205b91e9e typo corrections 2021-04-07 11:10:18 +02:00
Luca Pisano 5a47e11eb3 Storage Activities have been added based on already in place usage of IBlobStorage 2021-04-07 11:08:00 +02:00
Sipke Schoorstra aec08d9b0a Fix designer controls 2021-04-06 21:46:15 +02:00
Sipke Schoorstra 4511237a35 Fix deadlocks 2021-04-06 21:45:50 +02:00
Sipke Schoorstra 023c971834 Fix TelnyxWebhookDataJsonConverter 2021-04-06 21:45:14 +02:00
Sipke Schoorstra dd82c2f96f Use the mediator for triggering workflows synchronously 2021-04-06 21:43:49 +02:00
Sipke Schoorstra 8611ed5d11 Update HttpRequestMiddleware to use mediator 2021-04-06 21:42:06 +02:00
Sipke Schoorstra 522e9fc30d Fix RunJavaScript activity attributes 2021-04-06 21:41:43 +02:00
Sipke Schoorstra 07cd6a8ef8 Merge branch 'feature/elsa-2.0' into elsa-2.0/stencil-app 2021-04-06 12:10:50 +02:00
Sipke Schoorstra bcfc5ec966 Update packages 2021-04-06 12:10:27 +02:00
Sipke Schoorstra 8d87bd80b0 Fix various package scripts 2021-04-06 10:52:26 +02:00
Sipke Schoorstra e1119e79a6 Accommodate for Tailwind 2 breaking changes and fix build script (temporarily disabling sonar cube) 2021-04-06 10:26:23 +02:00
Sipke Schoorstra 727191c0e8 Incremental work on dashboard 2021-04-05 21:04:55 +02:00
Sipke Schoorstra aabf9ff2c2 Configure primitive activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra e2118a1135 Update expression evaluators to get merged variables 2021-04-04 15:37:28 +02:00
Sipke Schoorstra cebb57caaa Configure control flow activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 299b871c50 Formatting 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 35248ef43f Require explicit syntax for getting expression 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 33231bac85 Ensure no response if already started 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 9b3df1916b Handle potentially null list values 2021-04-04 15:37:28 +02:00
Sipke Schoorstra f330656c97 Configure Webhook activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 392fca87f9 Configure UserTask activity 2021-04-04 15:37:28 +02:00
Sipke Schoorstra d42bd00c8f Update Telnyx activity configurations 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 949ef056ab Configure Telnyx activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra e227b23f1f Incremental work on Telnyx activity configurations 2021-04-04 15:37:28 +02:00
Sipke Schoorstra ac8ddf2f00 Configure Rebus activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 12c57de73c Update MassTransit activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra de29f99f96 Update Redirect activity 2021-04-04 15:37:28 +02:00
Sipke Schoorstra fbc9d85d86 Update activity editor controls 2021-04-04 15:37:28 +02:00
Sipke Schoorstra a7a373583c Configure HTTP activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra d7b735125f Configure EntityChanged activity 2021-04-04 15:37:28 +02:00
Sipke Schoorstra a2aff3e54b Configure Dropbox activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 570a07e656 Configure Azure Service Bus activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 2e9617fdce Configure Temporal activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra bc98094b6b Designer activity editor controls tweaks and fixes 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 4611ef2e08 Add convenience SyntaxNames class with commonly used syntax names 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 09892074bb Add Default Syntax and Supported Syntax activity property attributes 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 2f12ed68cc Fix WebhookActivityTypeProvider property config 2021-04-04 15:37:28 +02:00
Sipke Schoorstra f92a2802d8 Configure SendEmail activity 2021-04-04 15:37:28 +02:00
Sipke Schoorstra eb1977c730 Configure WriteLine activity 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 6996d41376 Incremental work on property editor modes 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 3bca56f0ff Incremental work on property editor modes 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 9d333ec5b8 Add Document Approval sample project 2021-04-02 16:56:08 +02:00
Sipke Schoorstra 7f38b01db5 Fix TriggersWorkflows to ignore null/empty correlation IDs 2021-04-02 16:55:46 +02:00
Sipke Schoorstra 7e6c8774e8 Add SetVariableExtensions 2021-04-02 16:55:18 +02:00
Sipke Schoorstra 9bcc32d15a Code formatting 2021-04-02 16:55:04 +02:00
Sipke Schoorstra 461e38bb32 Fix Fork activity 2021-04-02 16:54:26 +02:00
Sipke Schoorstra 8b0b479b92 Fix signaling 2021-04-02 16:54:13 +02:00
Sipke Schoorstra 0acc836f4b Fix signaling 2021-04-02 16:53:46 +02:00
Sipke Schoorstra a6d05cfce0 Remove StringValuesModel
Deserialization causes problems when a value is a single string
2021-04-02 16:52:31 +02:00
Sipke Schoorstra 0dc2dd08bf Add FodyWeavers.xml 2021-04-02 13:09:15 +02:00
Sipke Schoorstra 207bbdb60e Update Elsa.Server.Hangfire.csproj 2021-04-02 13:08:33 +02:00
Sipke Schoorstra 881f0acb7a Fix tests 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 1dfa36b9c8 Extract Quartz registration extensions into separate methods
This allows the caller to control whether or not Quartz itself should be registered.
2021-04-02 12:43:14 +02:00
Sipke Schoorstra b05861a2c0 Set command timeout to lock timeout if higher tan default of 30s 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 55c77454eb Fix couple of warnings 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 53877b68fc Extract workflow dispatch logic into reusable mediator command handlers 2021-04-02 12:43:14 +02:00
Sipke Schoorstra ac61b7fc70 Add Hangfire dispatcher implementation 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 9b91618286 Mark grains as stateless 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 3fc3f792f2 Signaling refactorings 2021-04-02 12:43:14 +02:00
Sipke Schoorstra d9b0f01029 Fix Hello World HTTP sample 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 013b5965d9 Update HttpEndpoint with default method "GET" 2021-04-02 12:43:14 +02:00
Sipke Schoorstra e58ea09353 Remove unused class 2021-04-02 12:43:14 +02:00
Sipke Schoorstra dd658a8744 Adding missing service registration 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 912d98e7bd Adding missing service registrations 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 38be994e31 Break up WorkflowRunner into smaller types and extracted reusable trigger logic 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 0d3e19dcd3 WIP: Orleans grains 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 4cf43882dc Update packages 2021-04-02 12:43:14 +02:00
Sipke Schoorstra fbb574213a Fix SetVariable extensions 2021-04-02 12:43:14 +02:00
Sipke Schoorstra c019599fae Add extensions to register dispatchers 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 5796cf2893 Fix warnings and formatting 2021-04-02 12:43:14 +02:00
Sipke Schoorstra f91caf14bc Update Azure Service Bus workers to use new dispatcher APIs 2021-04-02 12:43:14 +02:00
Sipke Schoorstra bd87f5b2df Incremental work on default dispatchers in preparation for actor model implementation 2021-04-02 12:43:14 +02:00
Craig Fowler 8e16f5f269 Related to #761 - Refactor complex conversion
This removes all of the (now actually non-trivial) conversion logic from
the class which is actually responsible for executing the Jint engine.
This moves it all to a new service which uses chain of responsibility to
convert the result, using one of a few different mechanisms.

Of note is the handling of ExpandoObject when no specific type
information has been provided, and also the handling of enumerables,
with the exception of strings.
2021-04-01 20:25:09 +02:00
Craig Fowler 4b5d86135d Follow-up #761 - Fix for recursive case
Unfortunately Jint still chokes in this case if the expando contains
further nested expandos.  It turns out that I need to do this
recursively for it to always work.

We also have trouble with IEnumerable types.  They also can't be
round-tripped from/to JSON when they aren't deserialized as a very
specific type.
2021-04-01 20:25:09 +02:00
Craig Fowler 7ed875e53c Resolve #761 - Add special-case for ExpandoObject
It appears that this can be fixed by intercepting occasions
when Jint returns an ExpandoObject but the desired return type
is simply object.  In this scenario we must return
a Dictionary<string,object> instead of a simple object, or else
Jint freaks out should we try to stringify it later.

I also added a second test to prove that making this change hasn't
broken the way we expect Jint to work for us.
2021-04-01 20:25:09 +02:00
Craig Fowler a7f8926698 WIP #761 - Experimental commit (no exception)
This is an experimental commit.  It does stop the exception from
occurring, but it doesn't really fix the problem because now the
output is always empty-object.

It does prove that the exception was occurring because of the
usage of JsonConvert to serialize/deserialize the result.
The change made in this commit probably can't go into prod
but it is useful because it llustrates a part of the problem.
2021-04-01 20:25:09 +02:00
tomy2105 4384bdaab4 Fix for "complex" content type in HTTP Endpoint and HTTP Send request 2021-03-31 21:42:12 +02:00
Craig Fowler 89e1c604c9
Merge pull request #819 from tomy2105/feature/811-812-Send_HTTP_Request_Activity_Enhancements
SendHttpRequest enhancement for form post as well as URL bug resolution
2021-03-29 16:45:40 +01:00
tomy2105 79f4c0d8e0 SendHttpRequest enhancement for form post as well as URL bug resolution 2021-03-29 17:24:13 +02:00
Sipke Schoorstra bfe621af7d Add Telnyx options method to register custom extension provider 2021-03-29 14:57:26 +02:00
Sipke Schoorstra 19d52b6bc3 Remove custom node version installation 2021-03-29 13:48:10 +02:00
Sipke Schoorstra edd9de5156 Add automatic variable assignment of Call Control ID 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 326129e45a Add SpeakText and StartRecording activities 2021-03-29 13:06:37 +02:00
Sipke Schoorstra f1c80b5fad Add TelnyxClientStateTag (liquid support for Telnyx) 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 80b4b9dc6a Add PlayAudio Telnyx activity 2021-03-29 13:06:37 +02:00
Sipke Schoorstra c4f8eafba7 Add support for custom liquid tags 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 64e2b74092 Comment out pruning call (fixes Finish activity returning output to parent) 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 7423e82bbd Fix order of execution results in CompositeActivity 2021-03-29 13:06:37 +02:00
Sipke Schoorstra b868145d91 Telnyx: Fix extension method name 2021-03-29 13:06:37 +02:00
Sipke Schoorstra 94f297c618 Fix property name of Dial 2021-03-29 13:06:37 +02:00
Sipke Schoorstra eda9a4cb68 Fix actual bridging in CallRingGroup 2021-03-29 13:06:37 +02:00
tomy2105 6773a73a81 Method to skip adding core activites automatically. 2021-03-29 12:05:56 +02:00
Craig Fowler d9000b22b3 Fix build failure: ForEachWorkflowTests
It seems that some work done in these commits, for the
file ForEachBuilderExtensions was responsible:
* 4807ace13c
* dfbba1e176

A couple of the extension methods were missing out a ToList()
which later caused an ArgumentException when setting a property
value via reflection.

I also added an extra exception for the set-value logic.  This way,
if/when there is a problem, the exception will indicate which property
it was trying to set at the time.
2021-03-28 12:39:32 +01:00
Sipke Schoorstra 3ba1582b54 Remove unused namespace 2021-03-26 11:40:22 +01:00
Sipke Schoorstra b4154bf7ea Complete CallRingGroup activity with support for RingAll strategy 2021-03-26 11:40:22 +01:00
Sipke Schoorstra aa0c2fe711 Incremental work on CallRingGroup and other Telnyx activities 2021-03-26 11:40:22 +01:00
Sipke Schoorstra dfbba1e176 Fix casting issue with ForEach and ParallelForEach builder extensions 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 2a22a328c4 Add type parsing support with object target type 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 890789c9cd Incremental work on call ring group activity 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 4807ace13c Implement ring group transfer for prioritized hunt strategy 2021-03-26 11:40:22 +01:00
Sipke Schoorstra ae27cbb301 Remove test property 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 58f79cef11 Add support for nullable enum properties 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 8ace98740a Use dropdown UI hint by default for enum property types 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 423af35493 Fix repeating markup 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 3ac97a0444 Fix loss of multi-text input value 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 6374aa643b Update run-javascript-plugin with updated property name 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 39b8c4b343 Initial version of CallRingGroup 2021-03-26 11:40:22 +01:00
Sipke Schoorstra d6d44ff57b Improve ParallelForEach extensions 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 61b57de61c Turn Fork into self-cleaning scoped activity 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 7e3464c504 WIP: CallRingGroup 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 6fef9874da **BREAKING API** Update Builder API to allow to connect to named activities as well as activities by type name
This replaces the `Then(string activityName)` method with `ThenNamed(string activityName)`.
A new method is added to allow connecting to activities by type name: `ThenTypeNamed(string activityTypeName)`.

The reason for this change and addition is to allow workflow builders to connect to activity types that do not have a corresponding type.
For example, the Telnyx project has an activity type provider that *dynamically* provides activity types based on Telnyx webhook callback types.
2021-03-26 11:40:22 +01:00
Sipke Schoorstra 5d8d05aec5 Stash 2021-03-26 11:40:22 +01:00
Craig Fowler a81d47afff Resolve #785 - improve API for StringValuesModel
This means that the model:
* Implements IConvertible so that Jint may implicitly convert
  it to other types as if it were just a string.
* The Values & Values properties are perhaps a little less confusing
  now, and present a more consistent set of state, regardless of
  the inner model.
* There's a minor simplification to ToString, since String.Join already
  did what we wanted for one or many values.

Notable though is - because this class implements IConvertible,
it is no longer CLS compliant.  We do not currently mark this assembly
as CLS complient so as things stand that's OK.  I do not know if there
are any plans/expectations for CLS compliance in Elsa.

If we do plan to mark the assemblies as compliant then we must mark this
class [CLSCompliant(false)].
2021-03-25 21:10:25 +00:00
tomy2105 25ad50de02 Update elsa-designer-tree-activity.tsx
Double click to open activity.
2021-03-23 20:02:52 +01:00
Sipke Schoorstra 3ab0c94f94 Hide a couple of warnings 2021-03-23 14:52:11 +01:00
Sipke Schoorstra aff01d104a Rename Outcomes property that was hiding Outcomes member from base class 2021-03-23 14:51:53 +01:00
Sipke Schoorstra fe915fc6fd Fix Break activity 2021-03-23 14:05:56 +01:00
Sipke Schoorstra 66dabb8ce9 Add SetVariable overload with updater callback 2021-03-22 22:05:13 +01:00
Sipke Schoorstra 185c2dde44 SetVariable extension improvements 2021-03-22 22:04:49 +01:00
Sipke Schoorstra 48ff06d26e Add workflow context class type constraint 2021-03-22 21:24:30 +01:00
Sipke Schoorstra 3b185d31e9 New fix for Switch activity 2021-03-22 21:23:58 +01:00
Sipke Schoorstra f10d33b77e Fix Switch activity
The Switch activity did not reset its state in full, causing it to not re-evaluate its branches when looping back onto it
2021-03-22 08:40:16 +01:00
Craig Fowler ee7a8cdb1b
Merge pull request #775 from craigfowler/feature/738-Composite-Activities-may-be-triggers
Refactor for comprehension & add test coverage
2021-03-20 11:29:28 +00:00
Craig Fowler 2539f6425a WIP #738 - Integration tests for Trigger Indexer
One of these tests is failing and this is the one which
demonstrates issue #738. The composite activity which begins
with ReceiveSignal doesn't generate a trigger.
2021-03-20 10:42:41 +00:00
Konstantin Mikhailyuk bc986ec003
#667 - Move webhook client api to ElsaClient (#774)
* WIP #667 - Webhook activity project

* WIP #667 - Webhook definition with InMemoryStore

* WIP #667 - Add Webhook activity provider

* Prevent part assembly generation

See https://github.com/dotnet/aspnetcore/issues/24171

* Make optional args optional

* Small changes

* Move Refit client api to ElsaClient

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2021-03-20 07:45:08 +01:00
Konstantin Mikhailyuk caf15ecc70
WIP #667 - Webhook activity project (#718)
* Webhook activity project

* Webhook definition with InMemoryStore

* Add Webhook activity provider

* Prevent part assembly generation. See https://github.com/dotnet/aspnetcore/issues/24171

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2021-03-19 21:15:50 +01:00
Sipke Schoorstra 58648339c8 Build optimized tailwind.css 2021-03-19 21:02:35 +01:00
Sipke Schoorstra ba8b4bffcc Add support for setting default activity property values 2021-03-19 21:02:35 +01:00
Craig Fowler 3943e64c70 WIP #738 - Add test coverage to replace big test
The large/complex test is now removed, replaced by
smaller/simpler unit tests for the individual units in
the overall process of getting triggers.
2021-03-19 19:45:16 +00:00
Sipke Schoorstra a880873337 Update Telnyx activities to use CorrelationId if no CallControlId was specified 2021-03-19 14:25:25 +01:00
Sipke Schoorstra 37eeed2cd0 Implement activity property categorization 2021-03-19 14:25:25 +01:00
Sipke Schoorstra 1dd15f7a21 Fix lifetime scopes 2021-03-19 12:21:19 +01:00
Sipke Schoorstra 63aef00415 Fix type cast issue when evaluating JS expressions with no specialized type 2021-03-19 12:21:04 +01:00
Craig Fowler 6700ac2402 WIP #738 - Simplify unit test
Now that the class is a little less complex, this
simplified unit test covers just what remains.
2021-03-18 21:22:19 +00:00
Craig Fowler 9ec698c7bc WIP #738 - Refactor a troublesome extension method
This extension method is quite complex and is frustrating
when a unit test passes-through it.  That's because extension
methods can't be mocked in tests.
2021-03-18 21:09:04 +00:00
Craig Fowler f00f02041a WIP #738 - Further refactor (remove loop)
This is pretty trivial really, it just cuts down on
indentation and moves the looping into a Linq
map (Select) which builds a collection and then
reduces it (SelectMany) to a flattened collection.

Also remove some needless await'ing.
2021-03-18 20:40:09 +00:00
Craig Fowler d9724e5267 WIP #738 - Refactor-out a further service
The triggers-for-activity-blueprint functionality
is quite complex just on its own, so I have moved this to
a new service.

Once again the integration test which is left behind proves
that it still does the same job.
2021-03-18 20:29:06 +00:00
Craig Fowler 654f3072d9 WIP #738 - Refactor some logic into services
This simplifies the unit a little and the test proves that
it still does the same thing overall.  Strictly speaking, this
is now an integration test.
2021-03-18 19:35:05 +00:00
Craig Fowler 1dee17b904 WIP #738 - Add test coverage for new service
This test passes, but as you can see it's
massive because of the complexity of what the
class has to do.
2021-03-18 18:54:23 +00:00
Sipke Schoorstra ac32034d00 Implement activity property UI customizability 2021-03-18 14:28:44 +01:00
Sipke Schoorstra ccffcf52d3 Set default Telnyx ApiUrl 2021-03-18 14:28:44 +01:00
Sipke Schoorstra c62cac9ecb Dashboard hosting model improvements 2021-03-18 12:18:22 +01:00
Sipke Schoorstra 0673d6e192 Register MediatR
When the dashboard application does not reference Elsa services, Mediatr also isn't registered implicitly.
2021-03-18 11:25:07 +01:00
Sipke Schoorstra 0434b4825a Update packages 2021-03-18 11:24:04 +01:00
Sipke Schoorstra 50603bf8bd Add distinction between Elsa Server accessed from same process and from out of process (e.g. browser) 2021-03-17 22:14:18 +01:00
Craig Fowler 523c96a535 WIP #738 - Straight refactor to new service (SRP)
There's no logic change here at all.  I just moved a large function
out of the TriggerIndexer into a service of its own.
2021-03-17 19:47:58 +00:00
Sipke Schoorstra 0c15c94ea7
Telnyx Activities (#768)
* Fix liquid syntax for accessing activity output

* Initial scaffolding of Telnyx module + API changes

* Make Telnyx Notification activity blocking

* Implement Telnyx correlation

* Post workflow suspension tasks improvements

* Add Telnyx activities

* Add HangupCall and TransferCall activities

* Call activity improvements
2021-03-17 13:07:14 +01:00
Sipke Schoorstra 17e072a74e Post workflow suspension tasks improvements 2021-03-16 11:41:43 +01:00
Craig Fowler 4bc3539c4d
Merge branch 'feature/elsa-2.0' into feature/748-multi-tenant-EntityFramework 2021-03-14 13:51:06 +00:00
jdevillard 418cc85ba3
Add Azure Servicebus Topic Activities (Sender & Receiver) (#749)
* Add Service Bus Topic Sender & Receiver Activities

* Ability to manage simple "string" message

* Rename MessageReceived to  MessageQueueReceived  and SendMessage to SendQueueMessage

* Missing renaming bookmark , fix TopicWorker

Co-authored-by: jdevillard <jeremie.devillard@moskitos.fr>
2021-03-14 12:10:31 +01:00
Craig Fowler 7804e35d68 WIP #748 - Extend EF Core to support multi-tenant
This adds new elective functionality to EF Core persistence:
* Use non-pooled DB Contexts
* Allow control of (non pooled) DB Contexts service lifetimes
2021-03-13 12:59:43 +00:00