Sipke Schoorstra
805d234df4
Cleanup
2021-05-04 10:59:52 +02:00
Sipke Schoorstra
2ec915dabe
Merge branch 'feature/elsa-2.0'
...
# Conflicts:
# .gitignore
# Dockerfile
# Nuget.Config
# README.md
# Samples.sln
# appveyor.yml
# docker-compose.yaml
# src/activities/Elsa.Activities.ControlFlow/Activities/ForEach.cs
# src/activities/Elsa.Activities.ControlFlow/Activities/IfElse.cs
# src/activities/Elsa.Activities.ControlFlow/Activities/Join.cs
# src/activities/Elsa.Activities.ControlFlow/Activities/Switch.cs
# src/activities/Elsa.Activities.ControlFlow/Activities/While.cs
# src/activities/Elsa.Activities.ControlFlow/icon.png
# src/activities/Elsa.Activities.Dropbox/Extensions/ServiceCollectionExtensions.cs
# src/activities/Elsa.Activities.Dropbox/icon.png
# src/activities/Elsa.Activities.Email/Activities/SendEmail.cs
# src/activities/Elsa.Activities.Email/icon.png
# src/activities/Elsa.Activities.Http/Activities/ReceiveHttpRequest.cs
# src/activities/Elsa.Activities.Http/Activities/Redirect.cs
# src/activities/Elsa.Activities.Http/Activities/SendHttpRequest.cs
# src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse.cs
# src/activities/Elsa.Activities.Http/RequestHandlers/Handlers/TriggerRequestHandler.cs
# src/activities/Elsa.Activities.Http/icon.png
# src/activities/Elsa.Activities.MassTransit/Activities/CancelScheduledSendMassTransitMessage.cs
# src/activities/Elsa.Activities.MassTransit/Activities/MassTransitBusActivity.cs
# src/activities/Elsa.Activities.MassTransit/Activities/ReceiveMassTransitMessage.cs
# src/activities/Elsa.Activities.MassTransit/Extensions/ServiceCollectionExtensions.cs
# src/activities/Elsa.Activities.MassTransit/icon.png
# src/activities/Elsa.Activities.Reflection/Activities/ExecuteFunction.cs
# src/activities/Elsa.Activities.Reflection/icon.png
# src/activities/Elsa.Activities.Timers/Activities/CronEvent.cs
# src/activities/Elsa.Activities.Timers/Activities/TimerEvent.cs
# src/activities/Elsa.Activities.Timers/Elsa.Activities.Timers.csproj
# src/activities/Elsa.Activities.Timers/icon.png
# src/activities/Elsa.Activities.UserTask/Activities/UserTask.cs
# src/activities/Elsa.Activities.UserTask/icon.png
# src/activities/Elsa.Activities.Workflows/Activities/Finish.cs
# src/activities/Elsa.Activities.Workflows/Activities/TriggerWorkflow.cs
# src/activities/Elsa.Activities.Workflows/icon.png
# src/core/Elsa.Abstractions/Converters/TypeNameHandlingConverter.cs
# src/core/Elsa.Abstractions/Exceptions/WorkflowException.cs
# src/core/Elsa.Abstractions/Models/ActivityDefinition.cs
# src/core/Elsa.Abstractions/Models/BlockingActivity.cs
# src/core/Elsa.Abstractions/Models/Variables.cs
# src/core/Elsa.Abstractions/Models/WorkflowFault.cs
# src/core/Elsa.Abstractions/Models/WorkflowInstance.cs
# src/core/Elsa.Abstractions/Services/ActivityBase.cs
# src/core/Elsa.Abstractions/Services/IWorkflowEventHandler.cs
# src/core/Elsa.Abstractions/Services/Models/Workflow.cs
# src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs
# src/core/Elsa.Abstractions/Services/Models/WorkflowFault.cs
# src/core/Elsa.Abstractions/Services/WorkflowEventHandlerBase.cs
# src/core/Elsa.Abstractions/icon.png
# src/core/Elsa.Core/Expressions/WorkflowExpressionEvaluator.cs
# src/core/Elsa.Core/Extensions/AutoMapperServiceCollectionExtensions.cs
# src/core/Elsa.Core/Extensions/ElsaServiceCollectionExtensions.cs
# src/core/Elsa.Core/Mapping/WorkflowDefinitionProfile.cs
# src/core/Elsa.Core/Persistence/Memory/MemoryWorkflowInstanceStore.cs
# src/core/Elsa.Core/Results/FaultWorkflowResult.cs
# src/core/Elsa.Core/Runtime/StartupRunnerHostedService.cs
# src/core/Elsa.Core/Services/WorkflowInvoker.cs
# src/core/Elsa.Core/Services/WorkflowPublisher.cs
# src/core/Elsa.Core/WorkflowBuilders/ActivityBuilder.cs
# src/core/Elsa.Core/icon.png
# src/core/Elsa/icon.png
# src/dashboard/Elsa.Dashboard.Web/Elsa.Dashboard.Web.csproj
# src/dashboard/Elsa.Dashboard.Web/Startup.cs
# src/dashboard/Elsa.Dashboard.Web/icon.png
# src/dashboard/Elsa.Dashboard/ActionFilters/NotifierFilter.cs
# src/dashboard/Elsa.Dashboard/Areas/Elsa/Views/Shared/UserMenuItems.cshtml
# src/dashboard/Elsa.Dashboard/Areas/Elsa/Views/Shared/WorkflowDefinitionEditor.cshtml
# src/dashboard/Elsa.Dashboard/Areas/Elsa/Views/_ViewImports.cshtml
# src/dashboard/Elsa.Dashboard/Conventions/ElsaConvention.cs
# src/dashboard/Elsa.Dashboard/Elsa.Dashboard.csproj
# src/dashboard/Elsa.Dashboard/Extensions/DashboardServiceCollectionExtensions.cs
# src/dashboard/Elsa.Dashboard/icon.png
# src/dashboard/Elsa.WorkflowDesigner/Elsa.WorkflowDesigner.csproj
# src/dashboard/Elsa.WorkflowDesigner/ViewComponents/WorkflowDesignerViewComponent.cs
# src/dashboard/Elsa.WorkflowDesigner/icon.png
# src/persistence/Elsa.Persistence.DocumentDb/DocumentDbStorage.cs
# src/persistence/Elsa.Persistence.DocumentDb/DocumentDbStorageOptions.cs
# src/persistence/Elsa.Persistence.DocumentDb/Documents/WorkflowDefinitionVersionDocument.cs
# src/persistence/Elsa.Persistence.DocumentDb/Documents/WorkflowInstanceDocument.cs
# src/persistence/Elsa.Persistence.DocumentDb/Elsa.Persistence.DocumentDb.csproj
# src/persistence/Elsa.Persistence.DocumentDb/Extensions/DateTimeExtensions.cs
# src/persistence/Elsa.Persistence.DocumentDb/Extensions/DocumentClientExtensions.cs
# src/persistence/Elsa.Persistence.DocumentDb/Extensions/QueryableExtensions.cs
# src/persistence/Elsa.Persistence.DocumentDb/Extensions/ServiceConfigurationExtensions.cs
# src/persistence/Elsa.Persistence.DocumentDb/Mapping/DocumentProfile.cs
# src/persistence/Elsa.Persistence.DocumentDb/Services/CosmosDbWorkflowDefinitionStore.cs
# src/persistence/Elsa.Persistence.DocumentDb/Services/CosmosDbWorkflowInstanceStore.cs
# src/persistence/Elsa.Persistence.DocumentDb/icon.png
# src/persistence/Elsa.Persistence.EntityFrameworkCore/CustomSchema/CustomSchemaOptionsExtensionInfo.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/MySqlContext.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/MySqlContextFactory.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/PostgreSqlContext.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/SqlServerContext.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/SqliteContext.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Elsa.Persistence.EntityFrameworkCore.csproj
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Entities/WorkflowInstanceEntity.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Extensions/EFCoreServiceCollectionExtensions.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Mapping/EntitiesProfile.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/MySql/MySqlContextModelSnapshot.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/PostgreSql/20201027192219_Update02.Designer.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/PostgreSql/PostgreSqlContextModelSnapshot.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/SqlServer/SqlServerContextModelSnapshot.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/Sqlite/20201029094740_Create.Designer.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/Sqlite/20201029094740_Create.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/Sqlite/SqliteContextModelSnapshot.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Services/EntityFrameworkCoreWorkflowDefinitionStore.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/Services/EntityFrameworkCoreWorkflowInstanceStore.cs
# src/persistence/Elsa.Persistence.EntityFrameworkCore/icon.png
# src/persistence/Elsa.Persistence.MongoDb/Extensions/ServiceCollectionExtensions.cs
# src/persistence/Elsa.Persistence.MongoDb/icon.png
# src/persistence/Elsa.Persistence.YesSql/Documents/WorkflowInstanceDocument.cs
# src/persistence/Elsa.Persistence.YesSql/Extensions/YesSqlServiceCollectionExtensions.cs
# src/persistence/Elsa.Persistence.YesSql/Mapping/DocumentProfile.cs
# src/persistence/Elsa.Persistence.YesSql/Services/YesSqlWorkflowDefinitionStore.cs
# src/persistence/Elsa.Persistence.YesSql/Services/YesSqlWorkflowInstanceStore.cs
# src/persistence/Elsa.Persistence.YesSql/StartupTasks/InitializeStoreTask.cs
# src/persistence/Elsa.Persistence.YesSql/icon.png
# src/samples/README.md
# src/samples/Sample04/Activities/ArithmeticOperation.cs
# src/samples/Sample04/Activities/Divide.cs
# src/samples/Sample04/Activities/Multiply.cs
# src/samples/Sample04/Activities/Subtract.cs
# src/samples/Sample04/Activities/Sum.cs
# src/samples/Sample04/Program.cs
# src/samples/Sample05/Sample05.csproj
# src/samples/Sample07/Startup.cs
# src/samples/Sample08/Sample08.csproj
# src/samples/Sample08/Startup.cs
# src/samples/Sample12/Program.cs
# src/samples/Sample14/ElsaContextFactory.cs
# src/samples/Sample14/Program.cs
# src/samples/Sample14/Sample14.csproj
# src/samples/Sample18/Program.cs
# src/samples/Sample18/Sample18.csproj
# src/samples/Sample19/Sample19.csproj
# src/samples/Sample20/Workflows/SplitObjectWorkflow.cs
# src/samples/Sample21/Sample21.csproj
# src/samples/Sample21/Startup.cs
# src/samples/Sample21/Workflows/CartTrackingWorkflow.cs
# src/samples/Sample21/appsettings.json
# src/samples/Sample22/Program.cs
# src/samples/Sample22/Sample22.csproj
# src/samples/Sample23/ElsaContextFactory.cs
# src/samples/Sample23/HelloWorldWorkflow.cs
# src/samples/Sample23/Migrations/Sqlite/20201027194619_Create.Designer.cs
# src/samples/Sample23/Migrations/Sqlite/20201027194619_Create.cs
# src/samples/Sample23/Migrations/Sqlite/ElsaContextModelSnapshot.cs
# src/samples/Sample23/Program.cs
# src/samples/Sample23/Sample23.csproj
# src/samples/Sample24/Sample24.csproj
# src/scripting/Elsa.Scripting.JavaScript/Converters/TruncatingNumberJsonConverter.cs
# src/scripting/Elsa.Scripting.JavaScript/Handlers/CommonJavaScriptEngineHandler.cs
# src/scripting/Elsa.Scripting.JavaScript/Services/JavaScriptExpressionEvaluator.cs
# src/scripting/Elsa.Scripting.JavaScript/icon.png
# src/scripting/Elsa.Scripting.Liquid/Handlers/CommonLiquidContextHandler.cs
# src/scripting/Elsa.Scripting.Liquid/Services/LiquidExpressionEvaluator.cs
# src/scripting/Elsa.Scripting.Liquid/icon.png
2021-05-04 10:53:55 +02:00
Sipke Schoorstra
ad61ed480c
Add JavaScript functions to resolve workflow definition ID by tag and name
2021-04-26 12:32:16 +02:00
Sipke Schoorstra
5825ce6bc1
Add convenience JS functions
2021-04-15 16:08:44 +02:00
Sipke Schoorstra
3138c33903
Add JObject type conversion handling
2021-04-15 14:39:31 +02:00
Sipke Schoorstra
59aba78133
Formatting
2021-04-14 20:21:11 +02:00
Craig Fowler
d2de5ec77d
Merge pull request #851 from jdevillard/fix_PlainObjectResultConverter_ForSameObject
...
Fix plain object result converter for same object type
2021-04-14 17:11:49 +01:00
Sipke Schoorstra
5dd2c0be34
Add workflowContext global JS variable
2021-04-13 23:01:49 +02:00
Sipke Schoorstra
06233e7c05
Add JavaScript support for accessing appsettings
2021-04-13 13:17:24 +02:00
Sipke Schoorstra
094eccd572
Implement Switch expression evaluation
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
ce957b95e7
Cleanup
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
522e9fc30d
Fix RunJavaScript activity attributes
2021-04-06 21:41:43 +02:00
Sipke Schoorstra
e2118a1135
Update expression evaluators to get merged variables
2021-04-04 15:37:28 +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
Sipke Schoorstra
aff01d104a
Rename Outcomes property that was hiding Outcomes member from base class
2021-03-23 14:51:53 +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
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
94d71c54f3
JavaScript engine type conversion improvements
2021-03-11 22:51:29 +01:00
Sipke Schoorstra
422203ac36
Change syntax to get activity output using JS
2021-03-11 22:50:18 +01:00
Sipke Schoorstra
0442e1e699
Refactor options provider with DI support
2021-03-10 20:23:21 +01:00
Sipke Schoorstra
5e665c9119
Add JS functions to get and set variables
2021-03-06 14:33:42 +01:00
Sipke Schoorstra
d7d7bd4a7e
Add RunJavaScript activity
2021-03-06 13:41:52 +01:00
Sipke Schoorstra
6eadac5736
Improve javascript engine
2021-03-04 17:45:59 +01:00
Sipke Schoorstra
9e31439802
Fix JavaScriptExpressionHandler string conversion
2021-03-04 17:45:59 +01:00
Sipke Schoorstra
a14f7cc267
Expressions editor ( #695 )
...
* A functioning monaco editor
* Incremental work on intellisense
* Add Workflow Context Options settings to designer
* Rudimentary work on variables
2021-03-02 09:00:51 +01:00
Sipke Schoorstra
2f29dc379c
Upgrade to .NET Standard 2.1
2021-01-31 18:44:57 +01:00
Sipke Schoorstra
03c9f94671
Improve specifications and YesSQL implementation ( #529 )
...
* Update Fluid.Core package
* Make specifications flexible
* Update build environment
* Disable global.json
2020-12-20 12:12:32 +01:00
Sipke Schoorstra
d41039b567
Rename extensions namespace
2020-12-18 11:35:29 +01:00
Rafael Carnucci
0ba56f51b4
Enhance project structure ( #524 )
...
* Fix sample Elsa.Samples.FileBasedWorkflow
* Centralize project properties
* Fix PackageLicenseExpression
* Added configureawait.props & FodyWeavers.xml & FodyWeavers.xsd.
* Remove icon.png and added PackageIconUrl
* Removed <Nullable>disable</Nullable>
* Fix Icon in Elsa.Activities.MassTransit and Rebuild
Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
2020-12-16 10:31:02 +01:00
Sipke Schoorstra
959dd8615b
Make available TransientState to JS and Liquid script contexts
2020-12-01 11:22:14 +01:00
Sipke Schoorstra
20e24fc572
Update packages
2020-11-23 21:01:30 +01:00
Sipke Schoorstra
def637b4ca
Update packages
2020-11-12 22:02:51 +01:00
Sipke Schoorstra
d31ef98bb1
Update to .NET 5 and update icon
2020-11-11 21:32:12 +01:00
Sipke Schoorstra
2934bfce72
Update icons
2020-11-11 21:26:24 +01:00
Sipke Schoorstra
3700bb2323
Update package projects
2020-10-29 09:30:43 +01:00
Sviataslau Hankovich
6551b61ead
Simplify Options, get rid of OptionsBuilder ( #431 )
...
* Minor cleanup
* Fix namespaces
* Simplify options
2020-10-27 12:32:53 +01:00
Sipke Schoorstra
16611e2a74
Undo my fix in favor of fix from Peter T. LaComb Jr
2020-10-25 21:54:15 +01:00
Sipke Schoorstra
a4c0c57d12
Initialize target type in case of array value and target type wasn't specified
2020-10-25 21:50:40 +01:00
Sviataslau Hankovich
afa99fa279
Minor cleanup ( #421 )
2020-10-25 21:37:15 +01:00
Sviataslau Hankovich
cfcbc3d762
Code cleanup ( #413 )
2020-10-22 15:59:59 +02:00
Peter T. LaComb Jr
8fb36ef6cf
Issue 415: Null target type throws for array expressions ( #416 )
2020-10-22 09:55:46 +02:00
Sipke Schoorstra
0c47a781d5
Update package descriptions and names
2020-10-18 17:42:34 +02:00
Sipke Schoorstra
f8662c5426
Implement workflow materializer
2020-10-17 16:45:20 +02:00
Sipke Schoorstra
7a7d032e9e
Remove unused namespaces
2020-10-11 14:33:56 +02:00
Sipke Schoorstra
7e45845a47
Introduce Workflow Instance Manager and Workflow Definition Manager
2020-10-11 14:33:18 +02:00