From 4d6987a99f269817832d763b666209df47755f34 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 11 Aug 2022 16:06:38 +0800 Subject: [PATCH] Add `framework/src/Volo.Abp.AspNetCore.Dapr.EventBus` package. --- framework/Volo.Abp.sln | 7 ++++ .../FodyWeavers.xml | 3 ++ .../FodyWeavers.xsd | 30 +++++++++++++++++ .../Volo.Abp.AspNetCore.Dapr.EventBus.csproj | 17 ++++++++++ .../AbpAspNetCoreDaprEventBusModule.cs | 31 ++++++++++++++++++ .../AbpAspNetCoreDaprEventBusOptions.cs | 11 +++++++ .../AbpAspNetCoreDaprPubSubConsts.cs} | 2 +- .../AbpAspNetCoreDaprPubSubProvider.cs} | 32 +++++++++---------- ...oreDaprPubSubProviderContributorContext.cs | 16 ++++++++++ .../AbpAspNetCoreDaprPubSubController.cs} | 19 ++++------- ...AspNetCoreDaprPubSubProviderContributor.cs | 6 ++++ ...bpAspNetCoreDaprSubscriptionDefinition.cs} | 2 +- .../AbpAspNetCoreDaprSubscriptionRequest.cs} | 2 +- ...bpAspNetCoreDaprPubSubJsonNamingPolicy.cs} | 2 +- ...oreDaprSubscriptionDefinitionConverter.cs} | 8 ++--- .../Volo.Abp.AspNetCore.Dapr.csproj | 7 ---- .../Dapr/AbpAspNetCoreDaprModule.cs | 25 ++------------- .../Dapr/AbpAspNetCoreDaprOptions.cs | 11 ------- ...AbpDaprPubSubProviderContributorContext.cs | 16 ---------- .../Dapr/IAbpDaprPubSubProviderContributor.cs | 6 ---- nupkg/common.ps1 | 1 + 21 files changed, 155 insertions(+), 99 deletions(-) create mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/FodyWeavers.xml create mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/FodyWeavers.xsd create mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo.Abp.AspNetCore.Dapr.EventBus.csproj create mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprEventBusModule.cs create mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprEventBusOptions.cs rename framework/src/{Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprConsts.cs => Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubConsts.cs} (80%) rename framework/src/{Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpDaprPubSubProvider.cs => Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubProvider.cs} (54%) create mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubProviderContributorContext.cs rename framework/src/{Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Controllers/DaprController.cs => Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Controllers/AbpAspNetCoreDaprPubSubController.cs} (65%) create mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/IAbpAspNetCoreDaprPubSubProviderContributor.cs rename framework/src/{Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Models/DaprSubscriptionDefinition.cs => Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Models/AbpAspNetCoreDaprSubscriptionDefinition.cs} (76%) rename framework/src/{Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Models/DaprSubscriptionRequest.cs => Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Models/AbpAspNetCoreDaprSubscriptionRequest.cs} (72%) rename framework/src/{Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/SystemTextJson/AbpAspNetCoreDaprJsonNamingPolicy.cs => Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/SystemTextJson/AbpAspNetCoreDaprPubSubJsonNamingPolicy.cs} (71%) rename framework/src/{Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/SystemTextJson/DaprSubscriptionDefinitionConverter.cs => Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/SystemTextJson/AbpAspNetCoreDaprSubscriptionDefinitionConverter.cs} (52%) delete mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprOptions.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpDaprPubSubProviderContributorContext.cs delete mode 100644 framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/IAbpDaprPubSubProviderContributor.cs diff --git a/framework/Volo.Abp.sln b/framework/Volo.Abp.sln index b97935b3c1..5578e2d7c3 100644 --- a/framework/Volo.Abp.sln +++ b/framework/Volo.Abp.sln @@ -417,6 +417,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Http.Client.Dapr", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Dapr", "src\Volo.Abp.AspNetCore.Dapr\Volo.Abp.AspNetCore.Dapr.csproj", "{5EED625D-8D86-492A-BCB8-F6C8CD8D4AA1}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Dapr.EventBus", "src\Volo.Abp.AspNetCore.Dapr.EventBus\Volo.Abp.AspNetCore.Dapr.EventBus.csproj", "{B02EF042-C39E-45C4-A92D-BF7554E1889D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1243,6 +1245,10 @@ Global {5EED625D-8D86-492A-BCB8-F6C8CD8D4AA1}.Debug|Any CPU.Build.0 = Debug|Any CPU {5EED625D-8D86-492A-BCB8-F6C8CD8D4AA1}.Release|Any CPU.ActiveCfg = Release|Any CPU {5EED625D-8D86-492A-BCB8-F6C8CD8D4AA1}.Release|Any CPU.Build.0 = Release|Any CPU + {B02EF042-C39E-45C4-A92D-BF7554E1889D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B02EF042-C39E-45C4-A92D-BF7554E1889D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B02EF042-C39E-45C4-A92D-BF7554E1889D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B02EF042-C39E-45C4-A92D-BF7554E1889D}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1453,6 +1459,7 @@ Global {DCC41E99-EBC7-4F19-BA0D-A6F770D8E431} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} {18B796D2-D45D-41AE-9A42-75C9B14B20DF} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} {5EED625D-8D86-492A-BCB8-F6C8CD8D4AA1} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} + {B02EF042-C39E-45C4-A92D-BF7554E1889D} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5} diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/FodyWeavers.xml b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/FodyWeavers.xml new file mode 100644 index 0000000000..be0de3a908 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/FodyWeavers.xsd b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/FodyWeavers.xsd new file mode 100644 index 0000000000..3f3946e282 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/FodyWeavers.xsd @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo.Abp.AspNetCore.Dapr.EventBus.csproj b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo.Abp.AspNetCore.Dapr.EventBus.csproj new file mode 100644 index 0000000000..0c9280a27e --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo.Abp.AspNetCore.Dapr.EventBus.csproj @@ -0,0 +1,17 @@ + + + + + + + net6.0 + enable + enable + + + + + + + + diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprEventBusModule.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprEventBusModule.cs new file mode 100644 index 0000000000..b4fd636e76 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprEventBusModule.cs @@ -0,0 +1,31 @@ +using Microsoft.AspNetCore.Http.Json; +using Volo.Abp.AspNetCore.Dapr.SystemTextJson; +using Volo.Abp.EventBus.Dapr; +using Volo.Abp.Json; +using Volo.Abp.Json.SystemTextJson; +using Volo.Abp.Modularity; + +namespace Volo.Abp.AspNetCore.Dapr; + +[DependsOn( + typeof(AbpAspNetCoreDaprModule), + typeof(AbpEventBusDaprModule), + typeof(AbpJsonModule) + )] +public class AbpAspNetCoreDaprEventBusModule : AbpModule +{ + public override void ConfigureServices(ServiceConfigurationContext context) + { + // TODO: Add NewtonsoftJson json converter. + + Configure(options => + { + options.SerializerOptions.Converters.Add(new AbpAspNetCoreDaprSubscriptionDefinitionConverter()); + }); + + Configure(options => + { + options.JsonSerializerOptions.Converters.Add(new AbpAspNetCoreDaprSubscriptionDefinitionConverter()); + }); + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprEventBusOptions.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprEventBusOptions.cs new file mode 100644 index 0000000000..be65464428 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprEventBusOptions.cs @@ -0,0 +1,11 @@ +namespace Volo.Abp.AspNetCore.Dapr; + +public class AbpAspNetCoreDaprEventBusOptions +{ + public List Contributors { get; } + + public AbpAspNetCoreDaprEventBusOptions() + { + Contributors = new List(); + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprConsts.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubConsts.cs similarity index 80% rename from framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprConsts.cs rename to framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubConsts.cs index 7011d25476..c0cfb9d5cc 100644 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprConsts.cs +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubConsts.cs @@ -1,6 +1,6 @@ namespace Volo.Abp.AspNetCore.Dapr; -public class AbpAspNetCoreDaprConsts +public class AbpAspNetCoreDaprPubSubConsts { public const string DaprSubscribeUrl = "dapr/subscribe"; diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpDaprPubSubProvider.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubProvider.cs similarity index 54% rename from framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpDaprPubSubProvider.cs rename to framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubProvider.cs index 27eaa294d5..0affd70bba 100644 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpDaprPubSubProvider.cs +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubProvider.cs @@ -8,28 +8,28 @@ using Volo.Abp.EventBus.Distributed; namespace Volo.Abp.AspNetCore.Dapr; -public class AbpDaprPubSubProvider : ITransientDependency +public class AbpAspNetCoreDaprPubSubProvider : ITransientDependency { protected IServiceProvider ServiceProvider { get; } - protected AbpAspNetCoreDaprOptions Options { get; } - protected AbpDaprEventBusOptions EventBusOptions { get; } + protected AbpAspNetCoreDaprEventBusOptions AspNetCoreDaprEventBusOptions { get; } + protected AbpDaprEventBusOptions DaprEventBusOptions { get; } protected AbpDistributedEventBusOptions DistributedEventBusOptions { get; } - public AbpDaprPubSubProvider( + public AbpAspNetCoreDaprPubSubProvider( IServiceProvider serviceProvider, - IOptions options, - IOptions eventBusOptions, + IOptions aspNetCoreDaprEventBusOptions, + IOptions daprEventBusOptions, IOptions distributedEventBusOptions) { ServiceProvider = serviceProvider; - EventBusOptions = eventBusOptions.Value; - Options = options.Value; + AspNetCoreDaprEventBusOptions = aspNetCoreDaprEventBusOptions.Value; + DaprEventBusOptions = daprEventBusOptions.Value; DistributedEventBusOptions = distributedEventBusOptions.Value; } - public virtual async Task> GetSubscriptionsAsync() + public virtual async Task> GetSubscriptionsAsync() { - var subscriptions = new List(); + var subscriptions = new List(); foreach (var handler in DistributedEventBusOptions.Handlers) { foreach (var @interface in handler.GetInterfaces().Where(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IDistributedEventHandler<>))) @@ -37,21 +37,21 @@ public class AbpDaprPubSubProvider : ITransientDependency var eventType = @interface.GetGenericArguments()[0]; var eventName = EventNameAttribute.GetNameOrDefault(eventType); - subscriptions.Add(new DaprSubscriptionDefinition() + subscriptions.Add(new AbpAspNetCoreDaprSubscriptionDefinition() { - PubSubName = EventBusOptions.PubSubName, + PubSubName = DaprEventBusOptions.PubSubName, Topic = eventName, - Route = AbpAspNetCoreDaprConsts.DaprEventCallbackUrl + Route = AbpAspNetCoreDaprPubSubConsts.DaprEventCallbackUrl }); } } - if (Options.Contributors.Any()) + if (AspNetCoreDaprEventBusOptions.Contributors.Any()) { using (var scope = ServiceProvider.CreateScope()) { - var context = new AbpDaprPubSubProviderContributorContext(scope.ServiceProvider, subscriptions); - foreach (var contributor in Options.Contributors) + var context = new AbpAspNetCoreDaprPubSubProviderContributorContext(scope.ServiceProvider, subscriptions); + foreach (var contributor in AspNetCoreDaprEventBusOptions.Contributors) { await contributor.ContributeAsync(context); } diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubProviderContributorContext.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubProviderContributorContext.cs new file mode 100644 index 0000000000..93cb43b0bf --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/AbpAspNetCoreDaprPubSubProviderContributorContext.cs @@ -0,0 +1,16 @@ +using Volo.Abp.AspNetCore.Dapr.Models; + +namespace Volo.Abp.AspNetCore.Dapr; + +public class AbpAspNetCoreDaprPubSubProviderContributorContext +{ + public IServiceProvider ServiceProvider { get; } + + public List Subscriptions { get; } + + public AbpAspNetCoreDaprPubSubProviderContributorContext(IServiceProvider serviceProvider, List daprSubscriptionModels) + { + ServiceProvider = serviceProvider; + Subscriptions = daprSubscriptionModels; + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Controllers/DaprController.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Controllers/AbpAspNetCoreDaprPubSubController.cs similarity index 65% rename from framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Controllers/DaprController.cs rename to framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Controllers/AbpAspNetCoreDaprPubSubController.cs index b28fbf6e7a..e2440d90ce 100644 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Controllers/DaprController.cs +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Controllers/AbpAspNetCoreDaprPubSubController.cs @@ -11,26 +11,19 @@ namespace Volo.Abp.AspNetCore.Dapr.Controllers; [Area("abp")] [RemoteService(Name = "abp")] -public class DaprController : AbpController +public class AbpAspNetCoreDaprPubSubController : AbpController { - protected AbpDaprPubSubProvider DaprPubSubProvider { get; } - - public DaprController(AbpDaprPubSubProvider daprPubSubProvider) - { - DaprPubSubProvider = daprPubSubProvider; - } - - [HttpGet(AbpAspNetCoreDaprConsts.DaprSubscribeUrl)] - public virtual async Task> SubscribeAsync() + [HttpGet(AbpAspNetCoreDaprPubSubConsts.DaprSubscribeUrl)] + public virtual async Task> SubscribeAsync() { - return await DaprPubSubProvider.GetSubscriptionsAsync(); + return await HttpContext.RequestServices.GetRequiredService().GetSubscriptionsAsync(); } - [HttpPost(AbpAspNetCoreDaprConsts.DaprEventCallbackUrl)] + [HttpPost(AbpAspNetCoreDaprPubSubConsts.DaprEventCallbackUrl)] public virtual async Task EventsAsync() { var bodyJsonDocument = await JsonDocument.ParseAsync(HttpContext.Request.Body); - var request = JsonSerializer.Deserialize(bodyJsonDocument.RootElement.GetRawText(), + var request = JsonSerializer.Deserialize(bodyJsonDocument.RootElement.GetRawText(), HttpContext.RequestServices.GetRequiredService>().Value.JsonSerializerOptions); var distributedEventBus = HttpContext.RequestServices.GetRequiredService(); diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/IAbpAspNetCoreDaprPubSubProviderContributor.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/IAbpAspNetCoreDaprPubSubProviderContributor.cs new file mode 100644 index 0000000000..da9f7564de --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/IAbpAspNetCoreDaprPubSubProviderContributor.cs @@ -0,0 +1,6 @@ +namespace Volo.Abp.AspNetCore.Dapr; + +public interface IAbpAspNetCoreDaprPubSubProviderContributor +{ + Task ContributeAsync(AbpAspNetCoreDaprPubSubProviderContributorContext context); +} diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Models/DaprSubscriptionDefinition.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Models/AbpAspNetCoreDaprSubscriptionDefinition.cs similarity index 76% rename from framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Models/DaprSubscriptionDefinition.cs rename to framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Models/AbpAspNetCoreDaprSubscriptionDefinition.cs index 6fd8077250..414a69fbf1 100644 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Models/DaprSubscriptionDefinition.cs +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Models/AbpAspNetCoreDaprSubscriptionDefinition.cs @@ -1,6 +1,6 @@ namespace Volo.Abp.AspNetCore.Dapr.Models; -public class DaprSubscriptionDefinition +public class AbpAspNetCoreDaprSubscriptionDefinition { public string PubSubName { get; set; } diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Models/DaprSubscriptionRequest.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Models/AbpAspNetCoreDaprSubscriptionRequest.cs similarity index 72% rename from framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Models/DaprSubscriptionRequest.cs rename to framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Models/AbpAspNetCoreDaprSubscriptionRequest.cs index 9f7f4dfd4f..1dd88b1015 100644 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/Models/DaprSubscriptionRequest.cs +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/Models/AbpAspNetCoreDaprSubscriptionRequest.cs @@ -1,6 +1,6 @@ namespace Volo.Abp.AspNetCore.Dapr.Models; -public class DaprSubscriptionRequest +public class AbpAspNetCoreDaprSubscriptionRequest { public string PubSubName { get; set; } diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/SystemTextJson/AbpAspNetCoreDaprJsonNamingPolicy.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/SystemTextJson/AbpAspNetCoreDaprPubSubJsonNamingPolicy.cs similarity index 71% rename from framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/SystemTextJson/AbpAspNetCoreDaprJsonNamingPolicy.cs rename to framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/SystemTextJson/AbpAspNetCoreDaprPubSubJsonNamingPolicy.cs index e682d283e9..f6d4605ff2 100644 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/SystemTextJson/AbpAspNetCoreDaprJsonNamingPolicy.cs +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/SystemTextJson/AbpAspNetCoreDaprPubSubJsonNamingPolicy.cs @@ -2,7 +2,7 @@ namespace Volo.Abp.AspNetCore.Dapr.SystemTextJson; -public class AbpAspNetCoreDaprJsonNamingPolicy : JsonNamingPolicy +public class AbpAspNetCoreDaprPubSubJsonNamingPolicy : JsonNamingPolicy { public override string ConvertName(string name) { diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/SystemTextJson/DaprSubscriptionDefinitionConverter.cs b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/SystemTextJson/AbpAspNetCoreDaprSubscriptionDefinitionConverter.cs similarity index 52% rename from framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/SystemTextJson/DaprSubscriptionDefinitionConverter.cs rename to framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/SystemTextJson/AbpAspNetCoreDaprSubscriptionDefinitionConverter.cs index e2168da993..c0699ece43 100644 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/SystemTextJson/DaprSubscriptionDefinitionConverter.cs +++ b/framework/src/Volo.Abp.AspNetCore.Dapr.EventBus/Volo/Abp/AspNetCore/Dapr/EventBus/SystemTextJson/AbpAspNetCoreDaprSubscriptionDefinitionConverter.cs @@ -4,20 +4,20 @@ using Volo.Abp.AspNetCore.Dapr.Models; namespace Volo.Abp.AspNetCore.Dapr.SystemTextJson; -public class DaprSubscriptionDefinitionConverter : JsonConverter +public class AbpAspNetCoreDaprSubscriptionDefinitionConverter : JsonConverter { private JsonSerializerOptions _writeJsonSerializerOptions; - public override DaprSubscriptionDefinition Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + public override AbpAspNetCoreDaprSubscriptionDefinition Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { throw new NotSupportedException(); } - public override void Write(Utf8JsonWriter writer, DaprSubscriptionDefinition value, JsonSerializerOptions options) + public override void Write(Utf8JsonWriter writer, AbpAspNetCoreDaprSubscriptionDefinition value, JsonSerializerOptions options) { _writeJsonSerializerOptions ??= JsonSerializerOptionsHelper.Create(new JsonSerializerOptions(options) { - PropertyNamingPolicy = new AbpAspNetCoreDaprJsonNamingPolicy() + PropertyNamingPolicy = new AbpAspNetCoreDaprPubSubJsonNamingPolicy() }, x => x == this); JsonSerializer.Serialize(writer, value, _writeJsonSerializerOptions); diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo.Abp.AspNetCore.Dapr.csproj b/framework/src/Volo.Abp.AspNetCore.Dapr/Volo.Abp.AspNetCore.Dapr.csproj index 747593eb3f..51c2a097b9 100644 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo.Abp.AspNetCore.Dapr.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Dapr/Volo.Abp.AspNetCore.Dapr.csproj @@ -12,17 +12,10 @@ - - - - - - - diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprModule.cs b/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprModule.cs index 52e5820c4c..1650efa667 100644 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprModule.cs +++ b/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprModule.cs @@ -1,31 +1,12 @@ -using Microsoft.AspNetCore.Http.Json; -using Volo.Abp.AspNetCore.Dapr.SystemTextJson; -using Volo.Abp.EventBus.Dapr; -using Volo.Abp.Json; -using Volo.Abp.Json.SystemTextJson; +using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.Modularity; namespace Volo.Abp.AspNetCore.Dapr; [DependsOn( - typeof(AbpAspNetCoreModule), - typeof(AbpEventBusDaprModule), - typeof(AbpJsonModule) - )] + typeof(AbpAspNetCoreMvcModule) +)] public class AbpAspNetCoreDaprModule : AbpModule { - public override void ConfigureServices(ServiceConfigurationContext context) - { - // TODO: Add NewtonsoftJson json converter. - Configure(options => - { - options.SerializerOptions.Converters.Add(new DaprSubscriptionDefinitionConverter()); - }); - - Configure(options => - { - options.JsonSerializerOptions.Converters.Add(new DaprSubscriptionDefinitionConverter()); - }); - } } diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprOptions.cs b/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprOptions.cs deleted file mode 100644 index 17667d24b9..0000000000 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpAspNetCoreDaprOptions.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Volo.Abp.AspNetCore.Dapr; - -public class AbpAspNetCoreDaprOptions -{ - public List Contributors { get; } - - public AbpAspNetCoreDaprOptions() - { - Contributors = new List(); - } -} diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpDaprPubSubProviderContributorContext.cs b/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpDaprPubSubProviderContributorContext.cs deleted file mode 100644 index e2428e992a..0000000000 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/AbpDaprPubSubProviderContributorContext.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Volo.Abp.AspNetCore.Dapr.Models; - -namespace Volo.Abp.AspNetCore.Dapr; - -public class AbpDaprPubSubProviderContributorContext -{ - public IServiceProvider ServiceProvider { get; } - - public List Subscriptions { get; } - - public AbpDaprPubSubProviderContributorContext(IServiceProvider serviceProvider, List daprSubscriptionModels) - { - ServiceProvider = serviceProvider; - Subscriptions = daprSubscriptionModels; - } -} diff --git a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/IAbpDaprPubSubProviderContributor.cs b/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/IAbpDaprPubSubProviderContributor.cs deleted file mode 100644 index 1a23483f9d..0000000000 --- a/framework/src/Volo.Abp.AspNetCore.Dapr/Volo/Abp/AspNetCore/Dapr/IAbpDaprPubSubProviderContributor.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Volo.Abp.AspNetCore.Dapr; - -public interface IAbpDaprPubSubProviderContributor -{ - Task ContributeAsync(AbpDaprPubSubProviderContributorContext context); -} diff --git a/nupkg/common.ps1 b/nupkg/common.ps1 index c020554e5e..a2df36ae42 100644 --- a/nupkg/common.ps1 +++ b/nupkg/common.ps1 @@ -100,6 +100,7 @@ $projects = ( "framework/src/Volo.Abp.AspNetCore.Authentication.OpenIdConnect", "framework/src/Volo.Abp.AspNetCore", "framework/src/Volo.Abp.AspNetCore.Dapr", + "framework/src/Volo.Abp.AspNetCore.Dapr.EventBus", "framework/src/Volo.Abp.AspNetCore.Components", "framework/src/Volo.Abp.AspNetCore.Components.Server", "framework/src/Volo.Abp.AspNetCore.Components.Web",