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",