Sipke Schoorstra
ebaeabb934
Implement support for HTTP file download for SendHttpRequest and WriteHttpResponse
2021-06-16 08:57:19 +02:00
Sipke Schoorstra
f67140f7e2
Cleanup
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
9ec82d9293
Refactor Output handling
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
1db05d3b0b
Update models and UI to support configurable activity output storage
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
332741d54f
Implement pluggable storage for activity input and output properties
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
6a49f7a991
Stash input output storage
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
757a2f566f
Refactor activity state serialization to support property types typed as object
2021-06-07 22:04:36 +02:00
Sipke Schoorstra
a64675817a
Fix that JS handler overwrites activity output with other props
2021-06-05 15:35:50 +02:00
Sipke Schoorstra
9b9366028e
Fix JObject initialization for liquid handler
2021-06-05 15:34:52 +02:00
Sipke Schoorstra
d339b8d389
Add support for JProperty objects
2021-06-05 13:00:38 +02:00
Sipke Schoorstra
d9e88dd195
Fix type definition generation for classes
2021-05-31 20:38:10 +02:00
Sipke Schoorstra
63a2ec6000
Prevent named activities from being rendered into typescript definition when name is empty string
2021-05-31 19:52:37 +02:00
Sipke Schoorstra
7e9ac20e8d
Fix named activity missing in intellisense and blacklist many system types
2021-05-30 12:51:58 +02:00
Sipke Schoorstra
1150fb8dc1
Allow direct activity access from liquid
2021-05-30 12:51:58 +02:00
Sipke Schoorstra
d033b56d29
Increase javascript intellisense coverage
2021-05-30 12:51:58 +02:00
Sipke Schoorstra
7f420f4f42
Add JS functions to access activity properties
2021-05-30 12:51:58 +02:00
Sipke Schoorstra
58af0c7ca0
Rename ActivityPropertyAttribute to ActivityInputAttribute
2021-05-30 12:51:58 +02:00
Sipke Schoorstra
d195dfc070
Fix liquid engine to handle JObject and JValue resolution
2021-05-30 12:51:58 +02:00
Sipke Schoorstra
ca1db18bd7
Improve JS result parsing with support for target type conversions
2021-05-25 13:24:01 +02:00
Sipke Schoorstra
bb4ff3b714
Update packages
2021-05-25 09:57:17 +02:00
Sipke Schoorstra
e95e43bf36
Improve workflow signaling
2021-05-15 21:21:47 +02:00
Sipke Schoorstra
581048cb99
Update JavaScript and Liquid handlers with additional variables
2021-05-13 12:15:31 +02:00
Sipke Schoorstra
cb94f4dde5
Update packages
2021-05-10 22:19:29 +02:00
Sipke Schoorstra
7a9ccb99cf
Remove TS configs for now from designer bindins project
2021-05-10 10:26:13 +02:00
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
57c8fc6bcd
Remove explicit type checking and render to string always
2021-04-26 14:08:33 +02:00
Sipke Schoorstra
10d77b7365
Add "workflow_definition_id" liquid filter
2021-04-26 13:28:20 +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
5bab13e9f9
Add Liquid support for accessing appsettings
2021-04-13 12:57:58 +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
f7529fbb63
Fix liquid handler for JValue
2021-04-07 21:07:19 +02:00
Sipke Schoorstra
ae46e0e143
Update packages and accommodate for breaking changes
2021-04-07 14:48:30 +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
c4f8eafba7
Add support for custom liquid tags
2021-03-29 13:06:37 +02:00
Sipke Schoorstra
aff01d104a
Rename Outcomes property that was hiding Outcomes member from base class
2021-03-23 14:51:53 +01:00