From 5c5518ec4364b2b6cb29d6dd9c75c8a825f4e69b Mon Sep 17 00:00:00 2001
From: cKey <35512826+colinin@users.noreply.github.com>
Date: Wed, 20 Jul 2022 18:58:42 +0800
Subject: [PATCH] Integrated elsa-core
---
aspnet-core/Directory.Build.props | 1 +
aspnet-core/LINGYUN.MicroService.Workflow.sln | 31 +++++++------
...NGYUN.Abp.Elsa.EntityFramework.Core.csproj | 18 ++++++++
.../AbpElsaEntityFrameworkCoreModule.cs | 15 +++++++
.../LINGYUN.Abp.Elsa.Server}/FodyWeavers.xml | 0
.../LINGYUN.Abp.Elsa.Server}/FodyWeavers.xsd | 0
.../LINGYUN.Abp.Elsa.Server.csproj | 20 +++++++++
.../LINGYUN/Abp/Elsa/AbpElsaServerModule.cs | 22 ++++++++++
.../LINGYUN.Abp.Elsa}/FodyWeavers.xml | 0
.../LINGYUN.Abp.Elsa}/FodyWeavers.xsd | 0
.../LINGYUN.Abp.Elsa/LINGYUN.Abp.Elsa.csproj} | 3 +-
.../LINGYUN/Abp/Elsa/AbpElsaIdGenerator.cs | 19 ++++++++
.../LINGYUN/Abp/Elsa/AbpElsaModule.cs} | 25 +++++++++--
.../LINGYUN/Abp}/Elsa/AbpTenantAccessor.cs | 2 +-
.../Abp/Elsa/Localization/ElsaResource.cs | 8 ++++
.../LINGYUN.Abp.Workflow.Elsa.Server.csproj | 19 --------
.../Elsa/AbpWorkflowElsaServerModule.cs | 13 ------
...ice.WorkflowManagement.HttpApi.Host.csproj | 15 ++++---
.../Pages/_Host.cshtml | 23 ++++++++++
...owManagementHttpApiHostModule.Configure.cs | 43 +++++++++++++++++--
.../WorkflowManagementHttpApiHostModule.cs | 13 +++---
.../appsettings.Development.json | 7 ++-
22 files changed, 232 insertions(+), 65 deletions(-)
create mode 100644 aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN.Abp.Elsa.EntityFramework.Core.csproj
create mode 100644 aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN/Abp/Elsa/EntityFramework.Core/AbpElsaEntityFrameworkCoreModule.cs
rename aspnet-core/modules/{workflow/LINGYUN.Abp.Workflow.Elsa.Server => elsa/LINGYUN.Abp.Elsa.Server}/FodyWeavers.xml (100%)
rename aspnet-core/modules/{workflow/LINGYUN.Abp.Workflow.Elsa.Server => elsa/LINGYUN.Abp.Elsa.Server}/FodyWeavers.xsd (100%)
create mode 100644 aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/LINGYUN.Abp.Elsa.Server.csproj
create mode 100644 aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/LINGYUN/Abp/Elsa/AbpElsaServerModule.cs
rename aspnet-core/modules/{workflow/LINGYUN.Abp.Workflow.Elsa => elsa/LINGYUN.Abp.Elsa}/FodyWeavers.xml (100%)
rename aspnet-core/modules/{workflow/LINGYUN.Abp.Workflow.Elsa => elsa/LINGYUN.Abp.Elsa}/FodyWeavers.xsd (100%)
rename aspnet-core/modules/{workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN.Abp.Workflow.Elsa.csproj => elsa/LINGYUN.Abp.Elsa/LINGYUN.Abp.Elsa.csproj} (78%)
create mode 100644 aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpElsaIdGenerator.cs
rename aspnet-core/modules/{workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN/Abp/Workflow/Elsa/AbpWorkflowElsaModule.cs => elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpElsaModule.cs} (63%)
rename aspnet-core/modules/{workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN/Abp/Workflow => elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp}/Elsa/AbpTenantAccessor.cs (90%)
create mode 100644 aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/Localization/ElsaResource.cs
delete mode 100644 aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/LINGYUN.Abp.Workflow.Elsa.Server.csproj
delete mode 100644 aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/LINGYUN/Abp/Workflow/Elsa/AbpWorkflowElsaServerModule.cs
create mode 100644 aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/Pages/_Host.cshtml
diff --git a/aspnet-core/Directory.Build.props b/aspnet-core/Directory.Build.props
index bbbcef7b7..900de19b5 100644
--- a/aspnet-core/Directory.Build.props
+++ b/aspnet-core/Directory.Build.props
@@ -5,6 +5,7 @@
1.8.0
1.0.1
6.0.1
+ 2.8.2
1.5.10
2.13.0
3.0.434
diff --git a/aspnet-core/LINGYUN.MicroService.Workflow.sln b/aspnet-core/LINGYUN.MicroService.Workflow.sln
index e5eda2254..e7c5d9c34 100644
--- a/aspnet-core/LINGYUN.MicroService.Workflow.sln
+++ b/aspnet-core/LINGYUN.MicroService.Workflow.sln
@@ -51,9 +51,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflow-core", "workflow-c
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "elsa", "elsa", "{F1CCBEC7-ACAB-4DC5-909E-D8CC2E1B7EEC}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Workflow.Elsa", "modules\workflow\LINGYUN.Abp.Workflow.Elsa\LINGYUN.Abp.Workflow.Elsa.csproj", "{A6718032-429C-4136-8969-7F39EAE14E8F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Elsa", "modules\elsa\LINGYUN.Abp.Elsa\LINGYUN.Abp.Elsa.csproj", "{17EA5194-BBE8-4CE1-B6F9-DF6829622F38}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Workflow.Elsa.Server", "modules\workflow\LINGYUN.Abp.Workflow.Elsa.Server\LINGYUN.Abp.Workflow.Elsa.Server.csproj", "{2F2BDD2D-86D7-4DA9-9F69-76517A00EB5C}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Elsa.Server", "modules\elsa\LINGYUN.Abp.Elsa.Server\LINGYUN.Abp.Elsa.Server.csproj", "{88AA0D46-597E-4969-8382-A3F8054B9409}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Elsa.EntityFramework.Core", "modules\elsa\LINGYUN.Abp.Elsa.EntityFramework.Core\LINGYUN.Abp.Elsa.EntityFramework.Core.csproj", "{CAC0D3A2-8BFA-4A84-A7FA-550A3BB16288}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -129,14 +131,18 @@ Global
{0A21C843-4175-42F2-A95D-A75ED1DC1E05}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A21C843-4175-42F2-A95D-A75ED1DC1E05}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A21C843-4175-42F2-A95D-A75ED1DC1E05}.Release|Any CPU.Build.0 = Release|Any CPU
- {A6718032-429C-4136-8969-7F39EAE14E8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A6718032-429C-4136-8969-7F39EAE14E8F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A6718032-429C-4136-8969-7F39EAE14E8F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A6718032-429C-4136-8969-7F39EAE14E8F}.Release|Any CPU.Build.0 = Release|Any CPU
- {2F2BDD2D-86D7-4DA9-9F69-76517A00EB5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2F2BDD2D-86D7-4DA9-9F69-76517A00EB5C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2F2BDD2D-86D7-4DA9-9F69-76517A00EB5C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2F2BDD2D-86D7-4DA9-9F69-76517A00EB5C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {17EA5194-BBE8-4CE1-B6F9-DF6829622F38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {17EA5194-BBE8-4CE1-B6F9-DF6829622F38}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {17EA5194-BBE8-4CE1-B6F9-DF6829622F38}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {17EA5194-BBE8-4CE1-B6F9-DF6829622F38}.Release|Any CPU.Build.0 = Release|Any CPU
+ {88AA0D46-597E-4969-8382-A3F8054B9409}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {88AA0D46-597E-4969-8382-A3F8054B9409}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {88AA0D46-597E-4969-8382-A3F8054B9409}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {88AA0D46-597E-4969-8382-A3F8054B9409}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CAC0D3A2-8BFA-4A84-A7FA-550A3BB16288}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CAC0D3A2-8BFA-4A84-A7FA-550A3BB16288}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CAC0D3A2-8BFA-4A84-A7FA-550A3BB16288}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CAC0D3A2-8BFA-4A84-A7FA-550A3BB16288}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -162,8 +168,9 @@ Global
{D5ED348D-D6F0-4093-BD7D-20E05AA1EB7B} = {6CB521FC-AC40-49A6-B9A5-91399CAA59AB}
{57CB3446-B825-4C55-A24A-E15EB2CAA80D} = {DFE3435C-DD59-496F-BB77-6F7D62D2EA88}
{0A21C843-4175-42F2-A95D-A75ED1DC1E05} = {57CB3446-B825-4C55-A24A-E15EB2CAA80D}
- {A6718032-429C-4136-8969-7F39EAE14E8F} = {F1CCBEC7-ACAB-4DC5-909E-D8CC2E1B7EEC}
- {2F2BDD2D-86D7-4DA9-9F69-76517A00EB5C} = {F1CCBEC7-ACAB-4DC5-909E-D8CC2E1B7EEC}
+ {17EA5194-BBE8-4CE1-B6F9-DF6829622F38} = {F1CCBEC7-ACAB-4DC5-909E-D8CC2E1B7EEC}
+ {88AA0D46-597E-4969-8382-A3F8054B9409} = {F1CCBEC7-ACAB-4DC5-909E-D8CC2E1B7EEC}
+ {CAC0D3A2-8BFA-4A84-A7FA-550A3BB16288} = {F1CCBEC7-ACAB-4DC5-909E-D8CC2E1B7EEC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6BB7A5DE-DA12-44DC-BC9B-0F6CA524346F}
diff --git a/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN.Abp.Elsa.EntityFramework.Core.csproj b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN.Abp.Elsa.EntityFramework.Core.csproj
new file mode 100644
index 000000000..c3debf680
--- /dev/null
+++ b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN.Abp.Elsa.EntityFramework.Core.csproj
@@ -0,0 +1,18 @@
+
+
+
+ net6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN/Abp/Elsa/EntityFramework.Core/AbpElsaEntityFrameworkCoreModule.cs b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN/Abp/Elsa/EntityFramework.Core/AbpElsaEntityFrameworkCoreModule.cs
new file mode 100644
index 000000000..5120b9cdf
--- /dev/null
+++ b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.EntityFramework.Core/LINGYUN/Abp/Elsa/EntityFramework.Core/AbpElsaEntityFrameworkCoreModule.cs
@@ -0,0 +1,15 @@
+using Volo.Abp.EntityFrameworkCore;
+using Volo.Abp.Modularity;
+
+namespace LINGYUN.Abp.Elsa.EntityFramework.Core;
+
+[DependsOn(
+ typeof(AbpElsaModule),
+ typeof(AbpEntityFrameworkCoreModule))]
+public class AbpElsaEntityFrameworkCoreModule : AbpModule
+{
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+
+ }
+}
diff --git a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/FodyWeavers.xml b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/FodyWeavers.xml
similarity index 100%
rename from aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/FodyWeavers.xml
rename to aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/FodyWeavers.xml
diff --git a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/FodyWeavers.xsd b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/FodyWeavers.xsd
similarity index 100%
rename from aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/FodyWeavers.xsd
rename to aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/FodyWeavers.xsd
diff --git a/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/LINGYUN.Abp.Elsa.Server.csproj b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/LINGYUN.Abp.Elsa.Server.csproj
new file mode 100644
index 000000000..40a9254b0
--- /dev/null
+++ b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/LINGYUN.Abp.Elsa.Server.csproj
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ net6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/LINGYUN/Abp/Elsa/AbpElsaServerModule.cs b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/LINGYUN/Abp/Elsa/AbpElsaServerModule.cs
new file mode 100644
index 000000000..1dbb079cd
--- /dev/null
+++ b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Server/LINGYUN/Abp/Elsa/AbpElsaServerModule.cs
@@ -0,0 +1,22 @@
+using Elsa.Server.Api;
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.AspNetCore.Mvc;
+using Volo.Abp.Modularity;
+
+namespace LINGYUN.Abp.Elsa;
+
+[DependsOn(
+ typeof(AbpElsaModule),
+ typeof(AbpAspNetCoreMvcModule))]
+public class AbpElsaServerModule : AbpModule
+{
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ var preElsaApiOptions = context.Services.GetPreConfigureActions();
+
+ context.Services.AddElsaApiEndpoints(options =>
+ {
+ preElsaApiOptions.Configure(options);
+ });
+ }
+}
diff --git a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/FodyWeavers.xml b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/FodyWeavers.xml
similarity index 100%
rename from aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/FodyWeavers.xml
rename to aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/FodyWeavers.xml
diff --git a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/FodyWeavers.xsd b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/FodyWeavers.xsd
similarity index 100%
rename from aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/FodyWeavers.xsd
rename to aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/FodyWeavers.xsd
diff --git a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN.Abp.Workflow.Elsa.csproj b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN.Abp.Elsa.csproj
similarity index 78%
rename from aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN.Abp.Workflow.Elsa.csproj
rename to aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN.Abp.Elsa.csproj
index 64a503192..d07bc6ce9 100644
--- a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN.Abp.Workflow.Elsa.csproj
+++ b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN.Abp.Elsa.csproj
@@ -10,10 +10,11 @@
+
-
+
diff --git a/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpElsaIdGenerator.cs b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpElsaIdGenerator.cs
new file mode 100644
index 000000000..77e9eb830
--- /dev/null
+++ b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpElsaIdGenerator.cs
@@ -0,0 +1,19 @@
+using Elsa.Services;
+using Volo.Abp.Guids;
+
+namespace LINGYUN.Abp.Elsa;
+
+public class AbpElsaIdGenerator : IIdGenerator
+{
+ private readonly IGuidGenerator _guidGenerator;
+
+ public AbpElsaIdGenerator(IGuidGenerator guidGenerator)
+ {
+ _guidGenerator = guidGenerator;
+ }
+
+ public string Generate()
+ {
+ return _guidGenerator.Create().ToString("N");
+ }
+}
diff --git a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN/Abp/Workflow/Elsa/AbpWorkflowElsaModule.cs b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpElsaModule.cs
similarity index 63%
rename from aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN/Abp/Workflow/Elsa/AbpWorkflowElsaModule.cs
rename to aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpElsaModule.cs
index c1065058d..b96821e9d 100644
--- a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN/Abp/Workflow/Elsa/AbpWorkflowElsaModule.cs
+++ b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpElsaModule.cs
@@ -1,15 +1,26 @@
-using Microsoft.Extensions.DependencyInjection;
+using Elsa;
+using Elsa.Services;
+using LINGYUN.Abp.Elsa.Localization;
+using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
+using Volo.Abp.Features;
+using Volo.Abp.Json;
using Volo.Abp.Json.Newtonsoft;
+using Volo.Abp.Localization;
using Volo.Abp.Modularity;
+using Volo.Abp.Threading;
using ElsaOptionsBuilder = Elsa.Options.ElsaOptionsBuilder;
-namespace LINGYUN.Abp.Workflow.Elsa;
+namespace LINGYUN.Abp.Elsa;
-public class AbpWorkflowElsaModule : AbpModule
+[DependsOn(
+ typeof(AbpFeaturesModule),
+ typeof(AbpThreadingModule),
+ typeof(AbpJsonModule))]
+public class AbpElsaModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
@@ -19,6 +30,7 @@ public class AbpWorkflowElsaModule : AbpModule
{
options.AddCustomTenantAccessor();
options.AddConsoleActivities();
+ options.AddJavaScriptActivities();
options.UseJsonSerializer((provider) =>
{
var jsonOptions = provider.GetRequiredService>();
@@ -33,5 +45,12 @@ public class AbpWorkflowElsaModule : AbpModule
builder.Configure(options);
});
+
+ context.Services.AddSingleton();
+
+ Configure(options =>
+ {
+ options.Resources.Add();
+ });
}
}
diff --git a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN/Abp/Workflow/Elsa/AbpTenantAccessor.cs b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpTenantAccessor.cs
similarity index 90%
rename from aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN/Abp/Workflow/Elsa/AbpTenantAccessor.cs
rename to aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpTenantAccessor.cs
index 530e0c462..a9af50bd3 100644
--- a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa/LINGYUN/Abp/Workflow/Elsa/AbpTenantAccessor.cs
+++ b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpTenantAccessor.cs
@@ -3,7 +3,7 @@ using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.MultiTenancy;
-namespace LINGYUN.Abp.Workflow.Elsa;
+namespace LINGYUN.Abp.Elsa;
public class AbpTenantAccessor : ITenantAccessor
{
diff --git a/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/Localization/ElsaResource.cs b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/Localization/ElsaResource.cs
new file mode 100644
index 000000000..ef2b73cd0
--- /dev/null
+++ b/aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/Localization/ElsaResource.cs
@@ -0,0 +1,8 @@
+using Volo.Abp.Localization;
+
+namespace LINGYUN.Abp.Elsa.Localization;
+
+[LocalizationResourceName("Elsa")]
+public class ElsaResource
+{
+}
diff --git a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/LINGYUN.Abp.Workflow.Elsa.Server.csproj b/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/LINGYUN.Abp.Workflow.Elsa.Server.csproj
deleted file mode 100644
index af75e3e64..000000000
--- a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/LINGYUN.Abp.Workflow.Elsa.Server.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
- net6.0
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/LINGYUN/Abp/Workflow/Elsa/AbpWorkflowElsaServerModule.cs b/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/LINGYUN/Abp/Workflow/Elsa/AbpWorkflowElsaServerModule.cs
deleted file mode 100644
index 3ca1b38cc..000000000
--- a/aspnet-core/modules/workflow/LINGYUN.Abp.Workflow.Elsa.Server/LINGYUN/Abp/Workflow/Elsa/AbpWorkflowElsaServerModule.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.Modularity;
-
-namespace LINGYUN.Abp.Workflow.Elsa;
-
-[DependsOn(typeof(AbpWorkflowElsaModule))]
-public class AbpWorkflowElsaServerModule : AbpModule
-{
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddElsaApiEndpoints();
- }
-}
diff --git a/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/LY.MicroService.WorkflowManagement.HttpApi.Host.csproj b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/LY.MicroService.WorkflowManagement.HttpApi.Host.csproj
index eeeeb4fcc..c3a21c215 100644
--- a/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/LY.MicroService.WorkflowManagement.HttpApi.Host.csproj
+++ b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/LY.MicroService.WorkflowManagement.HttpApi.Host.csproj
@@ -7,9 +7,14 @@
-
-
-
+
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -40,6 +45,8 @@
+
+
@@ -48,8 +55,6 @@
-
-
diff --git a/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/Pages/_Host.cshtml b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/Pages/_Host.cshtml
new file mode 100644
index 000000000..5352f8b1e
--- /dev/null
+++ b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/Pages/_Host.cshtml
@@ -0,0 +1,23 @@
+@page "/"
+@{
+ var serverUrl = $"{Request.Scheme}://{Request.Host}";
+}
+
+
+
+
+
+ Elsa Workflows
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs
index a09337a80..6a54425fa 100644
--- a/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs
+++ b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.Configure.cs
@@ -1,7 +1,6 @@
using Elsa;
+using Elsa.Activities.UserTask.Extensions;
using Elsa.Options;
-using Elsa.Persistence.EntityFramework.Core.Extensions;
-using Elsa.Persistence.EntityFramework.MySql;
using LINGYUN.Abp.BlobStoring.OssManagement;
using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing;
@@ -10,7 +9,9 @@ using LINGYUN.Abp.Serilog.Enrichers.Application;
using Medallion.Threading;
using Medallion.Threading.Redis;
using Microsoft.AspNetCore.Authentication.JwtBearer;
+using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.DataProtection;
+using Microsoft.AspNetCore.Routing;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Caching.StackExchangeRedis;
using Microsoft.Extensions.Configuration;
@@ -52,8 +53,10 @@ public partial class WorkflowManagementHttpApiHostModule
AbpSerilogEnrichersConsts.ApplicationName = "WorkflowManagement";
}
- private void PreConfigureElsa(IConfiguration configuration)
+ private void PreConfigureElsa(IServiceCollection services, IConfiguration configuration)
{
+ var elsaSection = configuration.GetSection("Elsa");
+
PreConfigure(builder =>
{
// TODO: 取消注释持久化
@@ -61,7 +64,34 @@ public partial class WorkflowManagementHttpApiHostModule
//builder.UseEntityFrameworkPersistence(ef =>
// ef.UseMySql(connectionString));
builder.AddQuartzTemporalActivities()
- .AddJavaScriptActivities();
+ .AddEmailActivities()
+ .AddUserTaskActivities()
+ .AddHttpActivities(elsaSection.GetSection("Server").Bind)
+ .AddWorkflowsFrom();
+ //.AddWorkflowSettings()
+ //.AddWebhooks(options =>
+ //{
+ // options.UseEntityFrameworkPersistence(db =>
+ // {
+ // db.UseMySql(configuration.GetConnectionString("Workflow"));
+ // });
+ //})
+ //.UseEntityFrameworkPersistence(db =>
+ //{
+ // db.UseMySql(configuration.GetConnectionString("Workflow"));
+ //});
+ });
+ }
+
+ private void ConfigureEndpoints()
+ {
+ Configure(options =>
+ {
+ options.EndpointConfigureActions.Add(
+ (context) =>
+ {
+ context.Endpoints.MapFallbackToPage("/_Host");
+ });
});
}
@@ -272,6 +302,11 @@ public partial class WorkflowManagementHttpApiHostModule
options.Audience = configuration["AuthServer:ApiName"];
});
+ if (isDevelopment)
+ {
+ services.AddAlwaysAllowAuthorization();
+ }
+
if (!isDevelopment)
{
var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
diff --git a/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.cs b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.cs
index 1a1f792ed..5ae2dcb1c 100644
--- a/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.cs
+++ b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/WorkflowManagementHttpApiHostModule.cs
@@ -8,7 +8,7 @@ using LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore;
using LINGYUN.Abp.Saas.EntityFrameworkCore;
using LINGYUN.Abp.Serilog.Enrichers.Application;
using LINGYUN.Abp.Serilog.Enrichers.UniqueId;
-using LINGYUN.Abp.Workflow.Elsa;
+using LINGYUN.Abp.Elsa;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
@@ -36,8 +36,8 @@ namespace LY.MicroService.WorkflowManagement;
typeof(AbpAuditLoggingElasticsearchModule),
typeof(AbpAspNetCoreSerilogModule),
typeof(AbpBlobStoringOssManagementModule),
- typeof(AbpWorkflowElsaModule),
- typeof(AbpWorkflowElsaServerModule),
+ typeof(AbpElsaModule),
+ typeof(AbpElsaServerModule),
//typeof(WorkflowManagementApplicationModule),
//typeof(WorkflowManagementHttpApiModule),
//typeof(WorkflowManagementEntityFrameworkCoreModule),
@@ -72,7 +72,7 @@ public partial class WorkflowManagementHttpApiHostModule : AbpModule
PreConfigureApp();
PreConfigureFeature();
- PreConfigureElsa(configuration);
+ PreConfigureElsa(context.Services, configuration);
}
public override void ConfigureServices(ServiceConfigurationContext context)
@@ -81,6 +81,7 @@ public partial class WorkflowManagementHttpApiHostModule : AbpModule
var configuration = context.Services.GetConfiguration();
ConfigureDbContext();
+ ConfigureEndpoints();
ConfigureLocalization();
ConfigureJsonSerializer();
ConfigureExceptionHandling();
@@ -94,8 +95,7 @@ public partial class WorkflowManagementHttpApiHostModule : AbpModule
ConfigureSeedWorker(context.Services, hostingEnvironment.IsDevelopment());
ConfigureSecurity(context.Services, configuration, hostingEnvironment.IsDevelopment());
- // 开发取消权限检查
- // context.Services.AddAlwaysAllowAuthorization();
+ context.Services.AddRazorPages();
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
@@ -104,6 +104,7 @@ public partial class WorkflowManagementHttpApiHostModule : AbpModule
var env = context.GetEnvironment();
app.UseStaticFiles();
+ app.UseHttpActivities();
app.UseCorrelationId();
app.UseRouting();
app.UseCors();
diff --git a/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/appsettings.Development.json b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/appsettings.Development.json
index 246bc11f2..1822368d9 100644
--- a/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/appsettings.Development.json
+++ b/aspnet-core/services/LY.MicroService.WorkflowManagement.HttpApi.Host/appsettings.Development.json
@@ -12,7 +12,7 @@
},
"ConnectionStrings": {
"Default": "Server=127.0.0.1;Database=Workflow;User Id=root;Password=123456",
- "Workflow": "Server=127.0.0.1;Database=Elsa;User Id=root;Password=123456",
+ "Workflow": "Server=127.0.0.1;Database=Workflow;User Id=root;Password=123456",
"WorkflowManagement": "Server=127.0.0.1;Database=Workflow;User Id=root;Password=123456",
"AbpWorkflowCore": "Server=127.0.0.1;Database=Workflow;User Id=root;Password=123456",
"AbpFeatureManagement": "Server=127.0.0.1;Database=Platform;User Id=root;Password=123456",
@@ -21,6 +21,11 @@
"AbpSettingManagement": "Server=127.0.0.1;Database=Platform;User Id=root;Password=123456",
"AbpSaas": "Server=127.0.0.1;Database=Platform;User Id=root;Password=123456"
},
+ "Elsa": {
+ "Server": {
+ "BaseUrl": "http://localhost:5001"
+ }
+ },
"RemoteServices": {
"AbpOssManagement": {
"BaseUrl": "http://127.0.0.1:30025",