diff --git a/Elsa.sln b/Elsa.sln index 03cd96ded..3f13af8e4 100644 --- a/Elsa.sln +++ b/Elsa.sln @@ -38,8 +38,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Activities.UserTask", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Activities.Dropbox", "src\activities\Elsa.Activities.Dropbox\Elsa.Activities.Dropbox.csproj", "{5A3C9D59-21FE-4BE3-A00A-FF3F198EEC97}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripting", "scripting", "{5E230C5F-7A64-4E95-A790-DF40CC66DA31}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Scripting.Liquid", "src\scripting\Elsa.Scripting.Liquid\Elsa.Scripting.Liquid.csproj", "{9A2D1E3E-328F-4E02-86F8-84974925C1E3}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa", "src\core\Elsa\Elsa.csproj", "{ED2A4FE5-821B-46F7-B72F-E66DE0D66C93}" diff --git a/src/activities/Elsa.Activities.Dropbox/Elsa.Activities.Dropbox.csproj b/src/activities/Elsa.Activities.Dropbox/Elsa.Activities.Dropbox.csproj index 2ab411e09..0b20b70fc 100644 --- a/src/activities/Elsa.Activities.Dropbox/Elsa.Activities.Dropbox.csproj +++ b/src/activities/Elsa.Activities.Dropbox/Elsa.Activities.Dropbox.csproj @@ -32,7 +32,7 @@ - + diff --git a/src/activities/Elsa.Activities.Email/Elsa.Activities.Email.csproj b/src/activities/Elsa.Activities.Email/Elsa.Activities.Email.csproj index 7f8a7d4e9..292e8033d 100644 --- a/src/activities/Elsa.Activities.Email/Elsa.Activities.Email.csproj +++ b/src/activities/Elsa.Activities.Email/Elsa.Activities.Email.csproj @@ -31,7 +31,7 @@ - + diff --git a/src/activities/Elsa.Activities.Http/Activities/Redirect/RedirectBuilderExtensions.cs b/src/activities/Elsa.Activities.Http/Activities/Redirect/RedirectBuilderExtensions.cs index a77b34a2c..7719c2aea 100644 --- a/src/activities/Elsa.Activities.Http/Activities/Redirect/RedirectBuilderExtensions.cs +++ b/src/activities/Elsa.Activities.Http/Activities/Redirect/RedirectBuilderExtensions.cs @@ -1,6 +1,5 @@ using System; using Elsa.Builders; -using Microsoft.AspNetCore.Http; // ReSharper disable once CheckNamespace namespace Elsa.Activities.Http diff --git a/src/activities/Elsa.Activities.Http/Activities/Redirect/RedirectExtensions.cs b/src/activities/Elsa.Activities.Http/Activities/Redirect/RedirectExtensions.cs index d3aa31033..817c349e7 100644 --- a/src/activities/Elsa.Activities.Http/Activities/Redirect/RedirectExtensions.cs +++ b/src/activities/Elsa.Activities.Http/Activities/Redirect/RedirectExtensions.cs @@ -2,7 +2,6 @@ using System; using Elsa.Builders; using Elsa.Expressions; using Elsa.Services.Models; -using Microsoft.AspNetCore.Http; // ReSharper disable once CheckNamespace namespace Elsa.Activities.Http diff --git a/src/activities/Elsa.Activities.Http/Elsa.Activities.Http.csproj b/src/activities/Elsa.Activities.Http/Elsa.Activities.Http.csproj index a4035040d..cfcb422e2 100644 --- a/src/activities/Elsa.Activities.Http/Elsa.Activities.Http.csproj +++ b/src/activities/Elsa.Activities.Http/Elsa.Activities.Http.csproj @@ -36,11 +36,11 @@ - + - + \ No newline at end of file diff --git a/src/activities/Elsa.Activities.MassTransit/Elsa.Activities.MassTransit.csproj b/src/activities/Elsa.Activities.MassTransit/Elsa.Activities.MassTransit.csproj index c3ee9b39a..ace324207 100644 --- a/src/activities/Elsa.Activities.MassTransit/Elsa.Activities.MassTransit.csproj +++ b/src/activities/Elsa.Activities.MassTransit/Elsa.Activities.MassTransit.csproj @@ -29,10 +29,10 @@ - - - - + + + + diff --git a/src/activities/Elsa.Activities.Timers/Elsa.Activities.Timers.csproj b/src/activities/Elsa.Activities.Timers/Elsa.Activities.Timers.csproj index 5c196154c..61126d4af 100644 --- a/src/activities/Elsa.Activities.Timers/Elsa.Activities.Timers.csproj +++ b/src/activities/Elsa.Activities.Timers/Elsa.Activities.Timers.csproj @@ -34,7 +34,7 @@ - + diff --git a/src/core/Elsa.Abstractions/Builders/IOutcomeBuilder.cs b/src/core/Elsa.Abstractions/Builders/IOutcomeBuilder.cs index cdc28154c..4932277e5 100644 --- a/src/core/Elsa.Abstractions/Builders/IOutcomeBuilder.cs +++ b/src/core/Elsa.Abstractions/Builders/IOutcomeBuilder.cs @@ -1,5 +1,3 @@ -using System; -using Elsa.Services; using Elsa.Services.Models; namespace Elsa.Builders diff --git a/src/core/Elsa.Abstractions/Elsa.Abstractions.csproj b/src/core/Elsa.Abstractions/Elsa.Abstractions.csproj index f0d06d3b7..ad32d920b 100644 --- a/src/core/Elsa.Abstractions/Elsa.Abstractions.csproj +++ b/src/core/Elsa.Abstractions/Elsa.Abstractions.csproj @@ -27,16 +27,16 @@ - - - - + + + + - + - + diff --git a/src/core/Elsa.Abstractions/Expressions/IExpressionEvaluator.cs b/src/core/Elsa.Abstractions/Expressions/IExpressionEvaluator.cs index e4ca26aba..b2277c9fd 100644 --- a/src/core/Elsa.Abstractions/Expressions/IExpressionEvaluator.cs +++ b/src/core/Elsa.Abstractions/Expressions/IExpressionEvaluator.cs @@ -7,7 +7,7 @@ namespace Elsa.Expressions { public interface IExpressionEvaluator { - Task EvaluateAsync(IWorkflowExpression expression, Type returnType, ActivityExecutionContext context, CancellationToken cancellationToken = default); - Task EvaluateAsync(IWorkflowExpression expression, ActivityExecutionContext context, CancellationToken cancellationToken = default); + Task EvaluateAsync(IWorkflowExpression? expression, Type returnType, ActivityExecutionContext context, CancellationToken cancellationToken = default); + Task EvaluateAsync(IWorkflowExpression? expression, ActivityExecutionContext context, CancellationToken cancellationToken = default); } } \ No newline at end of file diff --git a/src/core/Elsa.Abstractions/Messaging/Distributed/RunWorkflow.cs b/src/core/Elsa.Abstractions/Messaging/Distributed/RunWorkflow.cs index 62c833623..f2396608b 100644 --- a/src/core/Elsa.Abstractions/Messaging/Distributed/RunWorkflow.cs +++ b/src/core/Elsa.Abstractions/Messaging/Distributed/RunWorkflow.cs @@ -1,5 +1,3 @@ -using Elsa.Models; - namespace Elsa.Messaging.Distributed { public class RunWorkflow diff --git a/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs b/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs index dd23163e6..ea2cbdc83 100644 --- a/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs +++ b/src/core/Elsa.Abstractions/Services/Models/ActivityExecutionContext.cs @@ -24,13 +24,13 @@ namespace Elsa.Services.Models public Variable? Output { get; set; } public IReadOnlyCollection Outcomes { get; set; } - public Task EvaluateAsync(IWorkflowExpression expression, CancellationToken cancellationToken) => + public Task EvaluateAsync(IWorkflowExpression? expression, CancellationToken cancellationToken) => WorkflowExecutionContext.EvaluateAsync(expression, this, cancellationToken); - public Task EvaluateAsync(IWorkflowExpression expression, Type targetType, CancellationToken cancellationToken) => + public Task EvaluateAsync(IWorkflowExpression? expression, Type targetType, CancellationToken cancellationToken) => WorkflowExecutionContext.EvaluateAsync(expression, targetType, this, cancellationToken); - public Task EvaluateAsync(IWorkflowExpression expression, CancellationToken cancellationToken) => + public Task EvaluateAsync(IWorkflowExpression? expression, CancellationToken cancellationToken) => WorkflowExecutionContext.EvaluateAsync(expression, typeof(object), this, cancellationToken); public void SetVariable(string name, object value) => WorkflowExecutionContext.SetVariable(name, value); diff --git a/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs b/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs index 7db970e31..f6da6ad20 100644 --- a/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs +++ b/src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs @@ -97,10 +97,10 @@ namespace Elsa.Services.Models public object GetVariable(string name) => Variables.GetVariable(name); public void CompletePass() => IsFirstPass = false; - public Task EvaluateAsync(IWorkflowExpression expression, ActivityExecutionContext activityExecutionContext, CancellationToken cancellationToken) => + public Task EvaluateAsync(IWorkflowExpression? expression, ActivityExecutionContext activityExecutionContext, CancellationToken cancellationToken) => ExpressionEvaluator.EvaluateAsync(expression, activityExecutionContext, cancellationToken); - public Task EvaluateAsync(IWorkflowExpression expression, Type targetType, ActivityExecutionContext activityExecutionContext, CancellationToken cancellationToken) => + public Task EvaluateAsync(IWorkflowExpression? expression, Type targetType, ActivityExecutionContext activityExecutionContext, CancellationToken cancellationToken) => ExpressionEvaluator.EvaluateAsync(expression, targetType, activityExecutionContext, cancellationToken); public void Suspend() diff --git a/src/core/Elsa.Core/Activities/ControlFlow/ForEach/ForEachBuilderExtensions.cs b/src/core/Elsa.Core/Activities/ControlFlow/ForEach/ForEachBuilderExtensions.cs index 9641d91e5..03fa67d97 100644 --- a/src/core/Elsa.Core/Activities/ControlFlow/ForEach/ForEachBuilderExtensions.cs +++ b/src/core/Elsa.Core/Activities/ControlFlow/ForEach/ForEachBuilderExtensions.cs @@ -1,6 +1,5 @@ using System; using System.Collections; -using System.Collections.Generic; using Elsa.Builders; using Elsa.Expressions; using Elsa.Services.Models; diff --git a/src/core/Elsa.Core/Activities/ControlFlow/ForEach/ForEachExtensions.cs b/src/core/Elsa.Core/Activities/ControlFlow/ForEach/ForEachExtensions.cs index 943a628ff..bd6ce1ed2 100644 --- a/src/core/Elsa.Core/Activities/ControlFlow/ForEach/ForEachExtensions.cs +++ b/src/core/Elsa.Core/Activities/ControlFlow/ForEach/ForEachExtensions.cs @@ -1,6 +1,5 @@ using System; using System.Collections; -using System.Collections.Generic; using Elsa.Builders; using Elsa.Expressions; using Elsa.Services.Models; diff --git a/src/core/Elsa.Core/Elsa.Core.csproj b/src/core/Elsa.Core/Elsa.Core.csproj index 6a69d90e8..81cc2124d 100644 --- a/src/core/Elsa.Core/Elsa.Core.csproj +++ b/src/core/Elsa.Core/Elsa.Core.csproj @@ -29,23 +29,22 @@ - - + + - - - - - - - - - + + + + + + + + + - - - + + diff --git a/src/core/Elsa.Core/ElsaOptions.cs b/src/core/Elsa.Core/ElsaOptions.cs index 244df66e2..387136221 100644 --- a/src/core/Elsa.Core/ElsaOptions.cs +++ b/src/core/Elsa.Core/ElsaOptions.cs @@ -5,6 +5,7 @@ using Elsa.Persistence.Memory; using Elsa.Services; using Microsoft.Extensions.DependencyInjection; using Rebus.Config; +using Rebus.DataBus.InMem; using Rebus.Persistence.InMem; using Rebus.Routing.TypeBased; using Rebus.Transport.InMem; @@ -69,6 +70,7 @@ namespace Elsa return rebus .Logging(logging => logging.ColoredConsole()) .Subscriptions(s => s.StoreInMemory(new InMemorySubscriberStore())) + .DataBus(s => s.StoreInMemory(new InMemDataStore())) .Routing(r => r.TypeBased()) .Transport(t => t.UseInMemoryTransport(new InMemNetwork(), "Messages")); } diff --git a/src/core/Elsa.Core/Extensions/ElsaServiceCollectionExtensions.cs b/src/core/Elsa.Core/Extensions/ElsaServiceCollectionExtensions.cs index 1832d9c70..0c940cb35 100644 --- a/src/core/Elsa.Core/Extensions/ElsaServiceCollectionExtensions.cs +++ b/src/core/Elsa.Core/Extensions/ElsaServiceCollectionExtensions.cs @@ -23,7 +23,6 @@ using Elsa.Services; using Elsa.StartupTasks; using Elsa.WorkflowProviders; using MediatR; -using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection.Extensions; using NodaTime; using Rebus.Handlers; @@ -162,7 +161,6 @@ namespace Microsoft.Extensions.DependencyInjection .AddTypeAlias("Activity") .AddTypeAlias(typeof(IList<>), "List") .AddTypeAlias(typeof(ICollection<>), "Collection") - .AddTypeAlias() .AddTypeAlias(typeof(LiteralExpression<>), "LiteralExpression"); private static IServiceCollection AddPrimitiveActivities(this IServiceCollection services) => diff --git a/src/core/Elsa.Core/Messaging/Distributed/Handlers/RunWorkflowHandler.cs b/src/core/Elsa.Core/Messaging/Distributed/Handlers/RunWorkflowHandler.cs index 8deef4c9f..e43fc0f92 100644 --- a/src/core/Elsa.Core/Messaging/Distributed/Handlers/RunWorkflowHandler.cs +++ b/src/core/Elsa.Core/Messaging/Distributed/Handlers/RunWorkflowHandler.cs @@ -10,7 +10,7 @@ namespace Elsa.Messaging.Distributed.Handlers public RunWorkflowHandler(IWorkflowHost workflowHost) => this.workflowHost = workflowHost; - public Task Handle(RunWorkflow message) => workflowHost.RunWorkflowInstanceAsync( + public async Task Handle(RunWorkflow message) => await workflowHost.RunWorkflowInstanceAsync( message.InstanceId, message.ActivityId, message.Input); diff --git a/src/core/Elsa.Core/Serialization/Handlers/CodeExpressionHandler.cs b/src/core/Elsa.Core/Serialization/Handlers/CodeExpressionHandler.cs index a6b293ce8..61d1199b0 100644 --- a/src/core/Elsa.Core/Serialization/Handlers/CodeExpressionHandler.cs +++ b/src/core/Elsa.Core/Serialization/Handlers/CodeExpressionHandler.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using System.Reflection; using Elsa.Expressions; using Newtonsoft.Json; using Newtonsoft.Json.Linq; diff --git a/src/providers/Elsa.DistributedLocking.SqlServer/Elsa.DistributedLocking.SqlServer.csproj b/src/providers/Elsa.DistributedLocking.SqlServer/Elsa.DistributedLocking.SqlServer.csproj index dad24bc0e..c9d33df26 100644 --- a/src/providers/Elsa.DistributedLocking.SqlServer/Elsa.DistributedLocking.SqlServer.csproj +++ b/src/providers/Elsa.DistributedLocking.SqlServer/Elsa.DistributedLocking.SqlServer.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/providers/Elsa.Persistence.DocumentDb/Elsa.Persistence.DocumentDb.csproj b/src/providers/Elsa.Persistence.DocumentDb/Elsa.Persistence.DocumentDb.csproj index a3905ca30..5c301160c 100644 --- a/src/providers/Elsa.Persistence.DocumentDb/Elsa.Persistence.DocumentDb.csproj +++ b/src/providers/Elsa.Persistence.DocumentDb/Elsa.Persistence.DocumentDb.csproj @@ -26,7 +26,7 @@ - + diff --git a/src/providers/Elsa.Persistence.EntityFrameworkCore/Elsa.Persistence.EntityFrameworkCore.csproj b/src/providers/Elsa.Persistence.EntityFrameworkCore/Elsa.Persistence.EntityFrameworkCore.csproj index fca8aa3f7..3cf482941 100644 --- a/src/providers/Elsa.Persistence.EntityFrameworkCore/Elsa.Persistence.EntityFrameworkCore.csproj +++ b/src/providers/Elsa.Persistence.EntityFrameworkCore/Elsa.Persistence.EntityFrameworkCore.csproj @@ -27,18 +27,18 @@ - - - - - - - + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + diff --git a/src/providers/Elsa.Persistence.MongoDb/Elsa.Persistence.MongoDb.csproj b/src/providers/Elsa.Persistence.MongoDb/Elsa.Persistence.MongoDb.csproj index aba78721e..8bac50c49 100644 --- a/src/providers/Elsa.Persistence.MongoDb/Elsa.Persistence.MongoDb.csproj +++ b/src/providers/Elsa.Persistence.MongoDb/Elsa.Persistence.MongoDb.csproj @@ -30,7 +30,7 @@ - + diff --git a/src/providers/Elsa.Persistence.YesSql/Elsa.Persistence.YesSql.csproj b/src/providers/Elsa.Persistence.YesSql/Elsa.Persistence.YesSql.csproj index df7dc1f06..c27e3e0ee 100644 --- a/src/providers/Elsa.Persistence.YesSql/Elsa.Persistence.YesSql.csproj +++ b/src/providers/Elsa.Persistence.YesSql/Elsa.Persistence.YesSql.csproj @@ -30,7 +30,7 @@ - + diff --git a/src/server/Elsa.Server.GraphQL/Elsa.Server.GraphQL.csproj b/src/server/Elsa.Server.GraphQL/Elsa.Server.GraphQL.csproj index edb81ebc0..f4ac33e35 100644 --- a/src/server/Elsa.Server.GraphQL/Elsa.Server.GraphQL.csproj +++ b/src/server/Elsa.Server.GraphQL/Elsa.Server.GraphQL.csproj @@ -3,7 +3,18 @@ netstandard2.0 latest - enable + 1.0.0 + Elsa Contributors + + Elsa is a set of workflow libraries and tools that enable super-fast workflowing capabilities in any .NET Core application. + This package provides a GraphQL endpoint to interface with the workflow host. + + 2019 + https://github.com/elsa-workflows/elsa-core + https://github.com/elsa-workflows/elsa-core + GitHub + elsa, workflows + icon.png @@ -11,9 +22,16 @@ - - - + + + + + + + + True + + diff --git a/src/server/Elsa.Server.GraphQL/icon.png b/src/server/Elsa.Server.GraphQL/icon.png new file mode 100644 index 000000000..f978a2882 Binary files /dev/null and b/src/server/Elsa.Server.GraphQL/icon.png differ diff --git a/test/shared/Elsa.Testing.Shared/Elsa.Testing.Shared.csproj b/test/shared/Elsa.Testing.Shared/Elsa.Testing.Shared.csproj index 72e8e2fff..3b02078b8 100644 --- a/test/shared/Elsa.Testing.Shared/Elsa.Testing.Shared.csproj +++ b/test/shared/Elsa.Testing.Shared/Elsa.Testing.Shared.csproj @@ -2,6 +2,19 @@ netstandard2.0 + latest + 1.0.0 + Elsa Contributors + + Elsa is a set of workflow libraries and tools that enable super-fast workflowing capabilities in any .NET Core application. + This package provides test helpers. + + 2019 + https://github.com/elsa-workflows/elsa-core + https://github.com/elsa-workflows/elsa-core + GitHub + elsa, workflows + icon.png @@ -9,4 +22,11 @@ + + + True + + + + diff --git a/test/shared/Elsa.Testing.Shared/icon.png b/test/shared/Elsa.Testing.Shared/icon.png new file mode 100644 index 000000000..f978a2882 Binary files /dev/null and b/test/shared/Elsa.Testing.Shared/icon.png differ diff --git a/test/unit/Elsa.Core.UnitTests/Elsa.Core.UnitTests.csproj b/test/unit/Elsa.Core.UnitTests/Elsa.Core.UnitTests.csproj index 74a6afd70..ca3b6ba81 100644 --- a/test/unit/Elsa.Core.UnitTests/Elsa.Core.UnitTests.csproj +++ b/test/unit/Elsa.Core.UnitTests/Elsa.Core.UnitTests.csproj @@ -10,12 +10,12 @@ - + - - - + + +