From 5716de88cc69561ce8f79c58621ea98de5dd35b2 Mon Sep 17 00:00:00 2001 From: Tony Han Date: Tue, 27 Oct 2020 16:24:29 +0800 Subject: [PATCH] After remove multiple execution scopes , Persistence related items also need to be updated. (#429) * Update WorkflowInstanceDocument.cs * Remove multiple execution scopes * Remove multiple execution scopes * Fix Yessql * Remove yessql from web project Co-authored-by: hyz --- .gitignore | 4 +++- .../Activities/ReceiveHttpRequest.cs | 2 +- src/dashboard/Elsa.Dashboard.Web/Startup.cs | 10 +++++----- .../Documents/WorkflowInstanceDocument.cs | 6 +++--- .../DbContexts/ElsaContext.cs | 14 ++++---------- .../Entities/WorkflowInstanceEntity.cs | 2 +- .../Documents/WorkflowInstanceDocument.cs | 4 ++-- 7 files changed, 19 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index 979e19bbaf..4ed62a4924 100644 --- a/.gitignore +++ b/.gitignore @@ -50,4 +50,6 @@ node_modules/ #github .github/ -App_Data/ \ No newline at end of file +App_Data/ +/src/samples/Elsa.Samples.HelloWorldHttp/Properties/launchSettings.json +/src/samples/Elsa.Samples.CustomActivities/Properties/launchSettings.json diff --git a/src/activities/Elsa.Activities.Http/Activities/ReceiveHttpRequest.cs b/src/activities/Elsa.Activities.Http/Activities/ReceiveHttpRequest.cs index e61c49b186..9af086b8e7 100644 --- a/src/activities/Elsa.Activities.Http/Activities/ReceiveHttpRequest.cs +++ b/src/activities/Elsa.Activities.Http/Activities/ReceiveHttpRequest.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Threading; diff --git a/src/dashboard/Elsa.Dashboard.Web/Startup.cs b/src/dashboard/Elsa.Dashboard.Web/Startup.cs index 09178a1fad..7ec64dcbb7 100644 --- a/src/dashboard/Elsa.Dashboard.Web/Startup.cs +++ b/src/dashboard/Elsa.Dashboard.Web/Startup.cs @@ -23,31 +23,31 @@ public Startup(IConfiguration configuration) public void ConfigureServices(IServiceCollection services) { var elsaSection = Configuration.GetSection("Elsa"); - + services // Add workflow services. .AddElsa(x => x.AddMongoDbStores(Configuration, "Elsa", "MongoDb")) - + // Add activities we'd like to use. // Configuring the activities as is done here is only required if we want to be able to actually run workflows form this application. // Otherwise it's only necessary to register activities for the workflow designer to discover. .AddHttpActivities(options => options.Bind(elsaSection.GetSection("Http"))) .AddEmailActivities(options => options.Bind(elsaSection.GetSection("Smtp"))) .AddTimerActivities(options => options.Bind(elsaSection.GetSection("Timers"))) - + // Add Dashboard services. .AddElsaDashboard(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { - if (env.IsDevelopment()) + if (env.IsDevelopment()) app.UseDeveloperExceptionPage(); app // This is only necessary if we want to be able to run workflows containing HTTP activities from this application. .UseHttpActivities() - + .UseStaticFiles() .UseRouting() .UseEndpoints(endpoints => endpoints.MapControllers()) diff --git a/src/persistence/Elsa.Persistence.DocumentDb/Documents/WorkflowInstanceDocument.cs b/src/persistence/Elsa.Persistence.DocumentDb/Documents/WorkflowInstanceDocument.cs index f1999d8808..cb29e24b45 100644 --- a/src/persistence/Elsa.Persistence.DocumentDb/Documents/WorkflowInstanceDocument.cs +++ b/src/persistence/Elsa.Persistence.DocumentDb/Documents/WorkflowInstanceDocument.cs @@ -40,8 +40,8 @@ public class WorkflowInstanceDocument : DocumentBase public IDictionary Activities { get; set; } = new Dictionary(); - [JsonProperty(PropertyName = "scopes")] - public Stack Scopes { get; set; } + [JsonProperty(PropertyName = "scope")] + public WorkflowExecutionScope Scope { get; set; } [JsonProperty(PropertyName = "input")] public Variables Input { get; set; } @@ -53,4 +53,4 @@ public class WorkflowInstanceDocument : DocumentBase [JsonProperty(PropertyName = "fault")] public WorkflowFault Fault { get; set; } } -} \ No newline at end of file +} diff --git a/src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs b/src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs index b83c37b1b0..57f1e72d31 100644 --- a/src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs +++ b/src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs @@ -94,10 +94,10 @@ private void ConfigureWorkflowInstance(ModelBuilder modelBuilder) entity.Property(x => x.Status).HasConversion(); entity - .Property(x => x.Scopes) + .Property(x => x.Scope) .HasConversion( x => Serialize(x), - x => DeserializeScopes(x) + x => Deserialize(x) ); entity @@ -178,12 +178,6 @@ private string Serialize(object value) private T Deserialize(string json) { return JsonConvert.DeserializeObject(json, serializerSettings); - } - - private Stack DeserializeScopes(string json) - { - var reversedScopes = JsonConvert.DeserializeObject>(json, serializerSettings); - return reversedScopes is { } ? new Stack(reversedScopes) : null; - } + } } -} \ No newline at end of file +} diff --git a/src/persistence/Elsa.Persistence.EntityFrameworkCore/Entities/WorkflowInstanceEntity.cs b/src/persistence/Elsa.Persistence.EntityFrameworkCore/Entities/WorkflowInstanceEntity.cs index 8d8d50329c..44b6316ca3 100644 --- a/src/persistence/Elsa.Persistence.EntityFrameworkCore/Entities/WorkflowInstanceEntity.cs +++ b/src/persistence/Elsa.Persistence.EntityFrameworkCore/Entities/WorkflowInstanceEntity.cs @@ -17,7 +17,7 @@ public class WorkflowInstanceEntity public DateTime? FinishedAt { get; set; } public DateTime? FaultedAt { get; set; } public DateTime? AbortedAt { get; set; } - public Stack Scopes { get; set; } + public WorkflowExecutionScope Scope { get; set; } public Variables Input { get; set; } public ICollection ExecutionLog { get; set; } public WorkflowFault Fault { get; set; } diff --git a/src/persistence/Elsa.Persistence.YesSql/Documents/WorkflowInstanceDocument.cs b/src/persistence/Elsa.Persistence.YesSql/Documents/WorkflowInstanceDocument.cs index 8bbe695de0..481dd0baca 100644 --- a/src/persistence/Elsa.Persistence.YesSql/Documents/WorkflowInstanceDocument.cs +++ b/src/persistence/Elsa.Persistence.YesSql/Documents/WorkflowInstanceDocument.cs @@ -18,10 +18,10 @@ public class WorkflowInstanceDocument public DateTime? FaultedAt { get; set; } public DateTime? AbortedAt { get; set; } public IDictionary Activities { get; set; } = new Dictionary(); - public Stack Scopes { get; set; } + public WorkflowExecutionScope Scope { get; set; } public Variables Input { get; set; } public HashSet BlockingActivities { get; set; } public ICollection ExecutionLog { get; set; } public WorkflowFault Fault { get; set; } } -} \ No newline at end of file +}