From 5e9e749969d5ab2faafa72df27e9ec897762e29d Mon Sep 17 00:00:00 2001 From: colin Date: Sat, 28 Dec 2024 11:34:08 +0800 Subject: [PATCH] feat(other): Some commits. --- Directory.Packages.props | 2 + aspnet-core/LINGYUN.MicroService.All.sln | 7 + .../LINGYUN.MicroService.SingleProject.sln | 17 + .../Abp/Auditing/AbpAuditingMapperProfile.cs | 11 +- .../AbpDataProtectionManagementDbContext.cs | 2 +- .../PermissionDefinitionAppService.cs | 6 + .../PermissionGroupDefinitionAppService.cs | 11 +- ...ionGroupDefinitionClientProxy.Generated.cs | 60 + .../NotificationGroupDefinitionClientProxy.cs | 7 + ...ficationDefinitionClientProxy.Generated.cs | 60 + .../NotificationDefinitionClientProxy.cs | 7 + .../MyNotificationClientProxy.Generated.cs | 51 + .../MyNotificationClientProxy.cs | 7 + .../MySubscriptionClientProxy.Generated.cs | 56 + .../MySubscriptionClientProxy.cs | 7 + .../NotificationClientProxy.Generated.cs | 39 + .../Notifications/NotificationClientProxy.cs | 7 + .../notifications-generate-proxy.json | 1413 +++++++++++++++++ .../FodyWeavers.xml | 3 + .../FodyWeavers.xsd | 30 + ...UN.Abp.Notifications.HttpApi.Client.csproj | 23 + .../AbpNotificationsHttpApiClientModule.cs | 19 + ...amicFeatureDefinitionStoreInMemoryCache.cs | 112 ++ ...LY.MicroService.Applications.Single.csproj | 8 + ...rviceApplicationsSingleModule.Configure.cs | 33 +- .../MicroServiceApplicationsSingleModule.cs | 11 +- .../appsettings.Development.json | 23 + .../appsettings.json | 3 + .../LINGYUN/Abp/IP2Region/SearcherTest.cs | 13 + 29 files changed, 2035 insertions(+), 13 deletions(-) create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Groups/NotificationGroupDefinitionClientProxy.Generated.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Groups/NotificationGroupDefinitionClientProxy.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Notifications/NotificationDefinitionClientProxy.Generated.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Notifications/NotificationDefinitionClientProxy.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MyNotificationClientProxy.Generated.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MyNotificationClientProxy.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MySubscriptionClientProxy.Generated.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MySubscriptionClientProxy.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/NotificationClientProxy.Generated.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/NotificationClientProxy.cs create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/notifications-generate-proxy.json create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/FodyWeavers.xml create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/FodyWeavers.xsd create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/LINGYUN.Abp.Notifications.HttpApi.Client.csproj create mode 100644 aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/LINGYUN/Abp/Notifications/AbpNotificationsHttpApiClientModule.cs create mode 100644 aspnet-core/services/LY.MicroService.Applications.Single/AbpDynamicFeatureDefinitionStoreInMemoryCache.cs diff --git a/Directory.Packages.props b/Directory.Packages.props index 98bf9ad30..73c665396 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -181,6 +181,8 @@ + + diff --git a/aspnet-core/LINGYUN.MicroService.All.sln b/aspnet-core/LINGYUN.MicroService.All.sln index 6356a92de..1aae176b4 100644 --- a/aspnet-core/LINGYUN.MicroService.All.sln +++ b/aspnet-core/LINGYUN.MicroService.All.sln @@ -766,6 +766,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.I EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Imaging", "modules\oss-management\LINGYUN.Abp.OssManagement.Imaging\LINGYUN.Abp.OssManagement.Imaging.csproj", "{267933BD-BFB8-4906-BA39-DF193B2FD558}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Notifications.HttpApi.Client", "modules\realtime-notifications\LINGYUN.Abp.Notifications.HttpApi.Client\LINGYUN.Abp.Notifications.HttpApi.Client.csproj", "{3CBD1342-C021-49FB-933F-FAC1DAFC7B48}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1964,6 +1966,10 @@ Global {267933BD-BFB8-4906-BA39-DF193B2FD558}.Debug|Any CPU.Build.0 = Debug|Any CPU {267933BD-BFB8-4906-BA39-DF193B2FD558}.Release|Any CPU.ActiveCfg = Release|Any CPU {267933BD-BFB8-4906-BA39-DF193B2FD558}.Release|Any CPU.Build.0 = Release|Any CPU + {3CBD1342-C021-49FB-933F-FAC1DAFC7B48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3CBD1342-C021-49FB-933F-FAC1DAFC7B48}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3CBD1342-C021-49FB-933F-FAC1DAFC7B48}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3CBD1342-C021-49FB-933F-FAC1DAFC7B48}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -2334,6 +2340,7 @@ Global {F2AD691B-71B9-4B86-95BC-E020DA6B1E4A} = {370D7CD5-1E17-4F3D-BBFA-03429F6D4F2F} {76DDE71D-00BD-4BC8-AEA2-31209E2B7E05} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6} {267933BD-BFB8-4906-BA39-DF193B2FD558} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6} + {3CBD1342-C021-49FB-933F-FAC1DAFC7B48} = {1A23BB7F-1839-4204-88C5-7E9A6C9FBF1E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C95FDF91-16F2-4A8B-A4BE-0E62D1B66718} diff --git a/aspnet-core/LINGYUN.MicroService.SingleProject.sln b/aspnet-core/LINGYUN.MicroService.SingleProject.sln index e6e08f51a..7b047fb43 100644 --- a/aspnet-core/LINGYUN.MicroService.SingleProject.sln +++ b/aspnet-core/LINGYUN.MicroService.SingleProject.sln @@ -602,6 +602,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.M EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Imaging", "modules\oss-management\LINGYUN.Abp.OssManagement.Imaging\LINGYUN.Abp.OssManagement.Imaging.csproj", "{BC7A8662-4313-4F1D-B267-9B1B69444CD3}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cap", "cap", "{7C35101B-EA29-4B3D-B424-FAD625977E4D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.EventBus.CAP", "framework\common\LINGYUN.Abp.EventBus.CAP\LINGYUN.Abp.EventBus.CAP.csproj", "{4539FCDB-7192-442C-BD9B-0AC71E882F4F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.AuditLogging.IP2Region", "framework\auditing\LINGYUN.Abp.AuditLogging.IP2Region\LINGYUN.Abp.AuditLogging.IP2Region.csproj", "{DFDF367D-EDE1-4365-90F9-32F529117B60}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1584,6 +1590,14 @@ Global {BC7A8662-4313-4F1D-B267-9B1B69444CD3}.Debug|Any CPU.Build.0 = Debug|Any CPU {BC7A8662-4313-4F1D-B267-9B1B69444CD3}.Release|Any CPU.ActiveCfg = Release|Any CPU {BC7A8662-4313-4F1D-B267-9B1B69444CD3}.Release|Any CPU.Build.0 = Release|Any CPU + {4539FCDB-7192-442C-BD9B-0AC71E882F4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4539FCDB-7192-442C-BD9B-0AC71E882F4F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4539FCDB-7192-442C-BD9B-0AC71E882F4F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4539FCDB-7192-442C-BD9B-0AC71E882F4F}.Release|Any CPU.Build.0 = Release|Any CPU + {DFDF367D-EDE1-4365-90F9-32F529117B60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DFDF367D-EDE1-4365-90F9-32F529117B60}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DFDF367D-EDE1-4365-90F9-32F529117B60}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DFDF367D-EDE1-4365-90F9-32F529117B60}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1876,6 +1890,9 @@ Global {319428B9-CE7F-4027-92FA-6311C4CE95FB} = {4A2CF141-F32D-45A0-8665-B3705667A6D2} {9AE3E97E-8846-4315-9546-FF97E97FD49F} = {3AD66E47-B667-40D1-AE61-F5EC186241F7} {BC7A8662-4313-4F1D-B267-9B1B69444CD3} = {3AD66E47-B667-40D1-AE61-F5EC186241F7} + {7C35101B-EA29-4B3D-B424-FAD625977E4D} = {99B7CBDE-A251-4738-97F0-DB1DB484BEE1} + {4539FCDB-7192-442C-BD9B-0AC71E882F4F} = {7C35101B-EA29-4B3D-B424-FAD625977E4D} + {DFDF367D-EDE1-4365-90F9-32F529117B60} = {C22741F9-FC56-4AE3-B543-9F15C779D345} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {711A43C0-A2F8-4E5C-9B9F-F2551E4B3FF1} diff --git a/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN/Abp/Auditing/AbpAuditingMapperProfile.cs b/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN/Abp/Auditing/AbpAuditingMapperProfile.cs index e9cad8398..ce9ec0ee3 100644 --- a/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN/Abp/Auditing/AbpAuditingMapperProfile.cs +++ b/aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN/Abp/Auditing/AbpAuditingMapperProfile.cs @@ -4,6 +4,7 @@ using LINGYUN.Abp.Auditing.Logging; using LINGYUN.Abp.Auditing.SecurityLogs; using LINGYUN.Abp.AuditLogging; using LINGYUN.Abp.Logging; +using Volo.Abp.ObjectExtending; namespace LINGYUN.Abp.Auditing; @@ -12,16 +13,16 @@ public class AbpAuditingMapperProfile : Profile public AbpAuditingMapperProfile() { CreateMap() - .MapExtraProperties(); + .MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap(); CreateMap(); CreateMap() - .MapExtraProperties(); + .MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap() - .MapExtraProperties(); + .MapExtraProperties(MappingPropertyDefinitionChecks.None); - CreateMap() - .MapExtraProperties(); + CreateMap(MemberList.Destination) + .MapExtraProperties(MappingPropertyDefinitionChecks.None); CreateMap(); CreateMap(); diff --git a/aspnet-core/modules/data-protection/LINGYUN.Abp.DataProtectionManagement.EntityFrameworkCore/LINGYUN/Abp/DataProtectionManagement/EntityFrameworkCore/AbpDataProtectionManagementDbContext.cs b/aspnet-core/modules/data-protection/LINGYUN.Abp.DataProtectionManagement.EntityFrameworkCore/LINGYUN/Abp/DataProtectionManagement/EntityFrameworkCore/AbpDataProtectionManagementDbContext.cs index e8c8bcdcc..c1a048314 100644 --- a/aspnet-core/modules/data-protection/LINGYUN.Abp.DataProtectionManagement.EntityFrameworkCore/LINGYUN/Abp/DataProtectionManagement/EntityFrameworkCore/AbpDataProtectionManagementDbContext.cs +++ b/aspnet-core/modules/data-protection/LINGYUN.Abp.DataProtectionManagement.EntityFrameworkCore/LINGYUN/Abp/DataProtectionManagement/EntityFrameworkCore/AbpDataProtectionManagementDbContext.cs @@ -15,6 +15,6 @@ public class AbpDataProtectionManagementDbContext : AbpDbContext g.Name == name)) + { + throw new BusinessException(PermissionManagementErrorCodes.GroupDefinition.StaticGroupNotAllowedChanged) + .WithData("Name", name); + } + var groupDefinitionRecord = await FindByNameAsync(name); if (groupDefinitionRecord != null) @@ -133,8 +140,8 @@ public class PermissionGroupDefinitionAppService : PermissionManagementAppServic [Authorize(PermissionManagementPermissionNames.GroupDefinition.Update)] public async virtual Task UpdateAsync(string name, PermissionGroupDefinitionUpdateDto input) { - var groupDefinition = await _permissionDefinitionManager.GetGroupOrNullAsync(name); - if (groupDefinition != null) + var staticGroups = await _staticPermissionDefinitionStore.GetGroupsAsync(); + if (staticGroups.Any(g => g.Name == name)) { throw new BusinessException(PermissionManagementErrorCodes.GroupDefinition.StaticGroupNotAllowedChanged) .WithData("Name", name); diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Groups/NotificationGroupDefinitionClientProxy.Generated.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Groups/NotificationGroupDefinitionClientProxy.Generated.cs new file mode 100644 index 000000000..be0ded8da --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Groups/NotificationGroupDefinitionClientProxy.Generated.cs @@ -0,0 +1,60 @@ +// This file is automatically generated by ABP framework to use MVC Controllers from CSharp +using LINGYUN.Abp.Notifications.Definitions.Groups; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.Application.Dtos; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http.Client; +using Volo.Abp.Http.Client.ClientProxying; +using Volo.Abp.Http.Modeling; + +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications.Definitions.Groups; + +[Dependency(ReplaceServices = true)] +[ExposeServices(typeof(INotificationGroupDefinitionAppService), typeof(NotificationGroupDefinitionClientProxy))] +public partial class NotificationGroupDefinitionClientProxy : ClientProxyBase, INotificationGroupDefinitionAppService +{ + public virtual async Task CreateAsync(NotificationGroupDefinitionCreateDto input) + { + return await RequestAsync(nameof(CreateAsync), new ClientProxyRequestTypeValue + { + { typeof(NotificationGroupDefinitionCreateDto), input } + }); + } + + public virtual async Task DeleteAsync(string name) + { + await RequestAsync(nameof(DeleteAsync), new ClientProxyRequestTypeValue + { + { typeof(string), name } + }); + } + + public virtual async Task GetAsync(string name) + { + return await RequestAsync(nameof(GetAsync), new ClientProxyRequestTypeValue + { + { typeof(string), name } + }); + } + + public virtual async Task> GetListAsync(NotificationGroupDefinitionGetListInput input) + { + return await RequestAsync>(nameof(GetListAsync), new ClientProxyRequestTypeValue + { + { typeof(NotificationGroupDefinitionGetListInput), input } + }); + } + + public virtual async Task UpdateAsync(string name, NotificationGroupDefinitionUpdateDto input) + { + return await RequestAsync(nameof(UpdateAsync), new ClientProxyRequestTypeValue + { + { typeof(string), name }, + { typeof(NotificationGroupDefinitionUpdateDto), input } + }); + } +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Groups/NotificationGroupDefinitionClientProxy.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Groups/NotificationGroupDefinitionClientProxy.cs new file mode 100644 index 000000000..559aec625 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Groups/NotificationGroupDefinitionClientProxy.cs @@ -0,0 +1,7 @@ +// This file is part of NotificationGroupDefinitionClientProxy, you can customize it here +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications.Definitions.Groups; + +public partial class NotificationGroupDefinitionClientProxy +{ +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Notifications/NotificationDefinitionClientProxy.Generated.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Notifications/NotificationDefinitionClientProxy.Generated.cs new file mode 100644 index 000000000..879fb69d7 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Notifications/NotificationDefinitionClientProxy.Generated.cs @@ -0,0 +1,60 @@ +// This file is automatically generated by ABP framework to use MVC Controllers from CSharp +using LINGYUN.Abp.Notifications.Definitions.Notifications; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.Application.Dtos; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http.Client; +using Volo.Abp.Http.Client.ClientProxying; +using Volo.Abp.Http.Modeling; + +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications.Definitions.Notifications; + +[Dependency(ReplaceServices = true)] +[ExposeServices(typeof(INotificationDefinitionAppService), typeof(NotificationDefinitionClientProxy))] +public partial class NotificationDefinitionClientProxy : ClientProxyBase, INotificationDefinitionAppService +{ + public virtual async Task CreateAsync(NotificationDefinitionCreateDto input) + { + return await RequestAsync(nameof(CreateAsync), new ClientProxyRequestTypeValue + { + { typeof(NotificationDefinitionCreateDto), input } + }); + } + + public virtual async Task DeleteAsync(string name) + { + await RequestAsync(nameof(DeleteAsync), new ClientProxyRequestTypeValue + { + { typeof(string), name } + }); + } + + public virtual async Task GetAsync(string name) + { + return await RequestAsync(nameof(GetAsync), new ClientProxyRequestTypeValue + { + { typeof(string), name } + }); + } + + public virtual async Task> GetListAsync(NotificationDefinitionGetListInput input) + { + return await RequestAsync>(nameof(GetListAsync), new ClientProxyRequestTypeValue + { + { typeof(NotificationDefinitionGetListInput), input } + }); + } + + public virtual async Task UpdateAsync(string name, NotificationDefinitionUpdateDto input) + { + return await RequestAsync(nameof(UpdateAsync), new ClientProxyRequestTypeValue + { + { typeof(string), name }, + { typeof(NotificationDefinitionUpdateDto), input } + }); + } +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Notifications/NotificationDefinitionClientProxy.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Notifications/NotificationDefinitionClientProxy.cs new file mode 100644 index 000000000..c27f5b663 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/Definitions/Notifications/NotificationDefinitionClientProxy.cs @@ -0,0 +1,7 @@ +// This file is part of NotificationDefinitionClientProxy, you can customize it here +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications.Definitions.Notifications; + +public partial class NotificationDefinitionClientProxy +{ +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MyNotificationClientProxy.Generated.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MyNotificationClientProxy.Generated.cs new file mode 100644 index 000000000..e84ab6d9e --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MyNotificationClientProxy.Generated.cs @@ -0,0 +1,51 @@ +// This file is automatically generated by ABP framework to use MVC Controllers from CSharp +using LINGYUN.Abp.Notifications; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.Application.Dtos; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http.Client; +using Volo.Abp.Http.Client.ClientProxying; +using Volo.Abp.Http.Modeling; + +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications; + +[Dependency(ReplaceServices = true)] +[ExposeServices(typeof(IMyNotificationAppService), typeof(MyNotificationClientProxy))] +public partial class MyNotificationClientProxy : ClientProxyBase, IMyNotificationAppService +{ + public virtual async Task MarkReadStateAsync(NotificationMarkReadStateInput input) + { + await RequestAsync(nameof(MarkReadStateAsync), new ClientProxyRequestTypeValue + { + { typeof(NotificationMarkReadStateInput), input } + }); + } + + public virtual async Task DeleteAsync(long id) + { + await RequestAsync(nameof(DeleteAsync), new ClientProxyRequestTypeValue + { + { typeof(long), id } + }); + } + + public virtual async Task GetAsync(long id) + { + return await RequestAsync(nameof(GetAsync), new ClientProxyRequestTypeValue + { + { typeof(long), id } + }); + } + + public virtual async Task> GetListAsync(UserNotificationGetByPagedDto input) + { + return await RequestAsync>(nameof(GetListAsync), new ClientProxyRequestTypeValue + { + { typeof(UserNotificationGetByPagedDto), input } + }); + } +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MyNotificationClientProxy.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MyNotificationClientProxy.cs new file mode 100644 index 000000000..018ebb868 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MyNotificationClientProxy.cs @@ -0,0 +1,7 @@ +// This file is part of MyNotificationClientProxy, you can customize it here +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications; + +public partial class MyNotificationClientProxy +{ +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MySubscriptionClientProxy.Generated.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MySubscriptionClientProxy.Generated.cs new file mode 100644 index 000000000..eced4c9b3 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MySubscriptionClientProxy.Generated.cs @@ -0,0 +1,56 @@ +// This file is automatically generated by ABP framework to use MVC Controllers from CSharp +using LINGYUN.Abp.Notifications; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.Application.Dtos; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http.Client; +using Volo.Abp.Http.Client.ClientProxying; +using Volo.Abp.Http.Modeling; + +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications; + +[Dependency(ReplaceServices = true)] +[ExposeServices(typeof(IMySubscriptionAppService), typeof(MySubscriptionClientProxy))] +public partial class MySubscriptionClientProxy : ClientProxyBase, IMySubscriptionAppService +{ + public virtual async Task> GetAllListAsync() + { + return await RequestAsync>(nameof(GetAllListAsync)); + } + + public virtual async Task> GetListAsync(SubscriptionsGetByPagedDto input) + { + return await RequestAsync>(nameof(GetListAsync), new ClientProxyRequestTypeValue + { + { typeof(SubscriptionsGetByPagedDto), input } + }); + } + + public virtual async Task IsSubscribedAsync(SubscriptionsGetByNameDto input) + { + return await RequestAsync(nameof(IsSubscribedAsync), new ClientProxyRequestTypeValue + { + { typeof(SubscriptionsGetByNameDto), input } + }); + } + + public virtual async Task SubscribeAsync(SubscriptionsGetByNameDto input) + { + await RequestAsync(nameof(SubscribeAsync), new ClientProxyRequestTypeValue + { + { typeof(SubscriptionsGetByNameDto), input } + }); + } + + public virtual async Task UnSubscribeAsync(SubscriptionsGetByNameDto input) + { + await RequestAsync(nameof(UnSubscribeAsync), new ClientProxyRequestTypeValue + { + { typeof(SubscriptionsGetByNameDto), input } + }); + } +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MySubscriptionClientProxy.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MySubscriptionClientProxy.cs new file mode 100644 index 000000000..e7e244011 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/MySubscriptionClientProxy.cs @@ -0,0 +1,7 @@ +// This file is part of MySubscriptionClientProxy, you can customize it here +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications; + +public partial class MySubscriptionClientProxy +{ +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/NotificationClientProxy.Generated.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/NotificationClientProxy.Generated.cs new file mode 100644 index 000000000..3f240b399 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/NotificationClientProxy.Generated.cs @@ -0,0 +1,39 @@ +// This file is automatically generated by ABP framework to use MVC Controllers from CSharp +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http.Client.ClientProxying; + +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications; + +[Dependency(ReplaceServices = true)] +[ExposeServices(typeof(INotificationAppService), typeof(NotificationClientProxy))] +public partial class NotificationClientProxy : ClientProxyBase, INotificationAppService +{ + public virtual async Task SendAsync(NotificationSendDto input) + { + await RequestAsync(nameof(SendAsync), new ClientProxyRequestTypeValue + { + { typeof(NotificationSendDto), input } + }); + } + + public virtual async Task> GetAssignableNotifiersAsync() + { + return await RequestAsync>(nameof(GetAssignableNotifiersAsync)); + } + + public virtual async Task> GetAssignableTemplatesAsync() + { + return await RequestAsync>(nameof(GetAssignableTemplatesAsync)); + } + + public virtual async Task SendAsync(NotificationTemplateSendDto input) + { + await RequestAsync(nameof(SendAsync), new ClientProxyRequestTypeValue + { + { typeof(NotificationTemplateSendDto), input } + }); + } +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/NotificationClientProxy.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/NotificationClientProxy.cs new file mode 100644 index 000000000..5c2d99685 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/LINGYUN/Abp/Notifications/NotificationClientProxy.cs @@ -0,0 +1,7 @@ +// This file is part of NotificationClientProxy, you can customize it here +// ReSharper disable once CheckNamespace +namespace LINGYUN.Abp.Notifications; + +public partial class NotificationClientProxy +{ +} diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/notifications-generate-proxy.json b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/notifications-generate-proxy.json new file mode 100644 index 000000000..842b60e85 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/ClientProxies/notifications-generate-proxy.json @@ -0,0 +1,1413 @@ +{ + "modules": { + "notifications": { + "rootPath": "notifications", + "remoteServiceName": "Notifications", + "controllers": { + "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionController": { + "controllerName": "NotificationGroupDefinition", + "controllerGroupName": "NotificationGroupDefinition", + "isRemoteService": true, + "isIntegrationService": false, + "apiVersion": null, + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionController", + "interfaces": [ + { + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.INotificationGroupDefinitionAppService", + "name": "INotificationGroupDefinitionAppService", + "methods": [ + { + "name": "GetAsync", + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto" + } + }, + { + "name": "DeleteAsync", + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + } + }, + { + "name": "GetListAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionGetListInput, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionGetListInput", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionGetListInput", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + } + }, + { + "name": "CreateAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionCreateDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionCreateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionCreateDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto" + } + }, + { + "name": "UpdateAsync", + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + }, + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionUpdateDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionUpdateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionUpdateDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto" + } + } + ] + } + ], + "actions": { + "CreateAsyncByInput": { + "uniqueName": "CreateAsyncByInput", + "name": "CreateAsync", + "httpMethod": "POST", + "url": "api/notifications/definitions/groups", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionCreateDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionCreateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionCreateDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "input", + "jsonName": null, + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionCreateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionCreateDto", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "Body", + "descriptorName": "" + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Groups.INotificationGroupDefinitionAppService" + }, + "DeleteAsyncByName": { + "uniqueName": "DeleteAsyncByName", + "name": "DeleteAsync", + "httpMethod": "DELETE", + "url": "api/notifications/definitions/groups/{name}", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "name", + "name": "name", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "" + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Groups.INotificationGroupDefinitionAppService" + }, + "GetAsyncByName": { + "uniqueName": "GetAsyncByName", + "name": "GetAsync", + "httpMethod": "GET", + "url": "api/notifications/definitions/groups/{name}", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "name", + "name": "name", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "" + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Groups.INotificationGroupDefinitionAppService" + }, + "GetListAsyncByInput": { + "uniqueName": "GetListAsyncByInput", + "name": "GetListAsync", + "httpMethod": "GET", + "url": "api/notifications/definitions/groups", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionGetListInput, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionGetListInput", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionGetListInput", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "Filter", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Groups.INotificationGroupDefinitionAppService" + }, + "UpdateAsyncByNameAndInput": { + "uniqueName": "UpdateAsyncByNameAndInput", + "name": "UpdateAsync", + "httpMethod": "PUT", + "url": "api/notifications/definitions/groups/{name}", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + }, + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionUpdateDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionUpdateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionUpdateDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "name", + "name": "name", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "" + }, + { + "nameOnMethod": "input", + "name": "input", + "jsonName": null, + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionUpdateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionUpdateDto", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "Body", + "descriptorName": "" + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Groups.NotificationGroupDefinitionDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Groups.INotificationGroupDefinitionAppService" + } + } + }, + "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionController": { + "controllerName": "NotificationDefinition", + "controllerGroupName": "NotificationDefinition", + "isRemoteService": true, + "isIntegrationService": false, + "apiVersion": null, + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionController", + "interfaces": [ + { + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.INotificationDefinitionAppService", + "name": "INotificationDefinitionAppService", + "methods": [ + { + "name": "GetAsync", + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto" + } + }, + { + "name": "DeleteAsync", + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + } + }, + { + "name": "CreateAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionCreateDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionCreateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionCreateDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto" + } + }, + { + "name": "UpdateAsync", + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + }, + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionUpdateDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionUpdateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionUpdateDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto" + } + }, + { + "name": "GetListAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionGetListInput, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionGetListInput", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionGetListInput", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + } + } + ] + } + ], + "actions": { + "CreateAsyncByInput": { + "uniqueName": "CreateAsyncByInput", + "name": "CreateAsync", + "httpMethod": "POST", + "url": "api/notifications/definitions/notifications", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionCreateDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionCreateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionCreateDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "input", + "jsonName": null, + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionCreateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionCreateDto", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "Body", + "descriptorName": "" + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Notifications.INotificationDefinitionAppService" + }, + "DeleteAsyncByName": { + "uniqueName": "DeleteAsyncByName", + "name": "DeleteAsync", + "httpMethod": "DELETE", + "url": "api/notifications/definitions/notifications/{name}", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "name", + "name": "name", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "" + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Notifications.INotificationDefinitionAppService" + }, + "GetAsyncByName": { + "uniqueName": "GetAsyncByName", + "name": "GetAsync", + "httpMethod": "GET", + "url": "api/notifications/definitions/notifications/{name}", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "name", + "name": "name", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "" + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Notifications.INotificationDefinitionAppService" + }, + "GetListAsyncByInput": { + "uniqueName": "GetListAsyncByInput", + "name": "GetListAsync", + "httpMethod": "GET", + "url": "api/notifications/definitions/notifications", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionGetListInput, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionGetListInput", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionGetListInput", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "Filter", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "GroupName", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "Template", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "AllowSubscriptionToClients", + "jsonName": null, + "type": "System.Boolean?", + "typeSimple": "boolean?", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "NotificationLifetime", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "NotificationType", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "ContentType", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Notifications.INotificationDefinitionAppService" + }, + "UpdateAsyncByNameAndInput": { + "uniqueName": "UpdateAsyncByNameAndInput", + "name": "UpdateAsync", + "httpMethod": "PUT", + "url": "api/notifications/definitions/notifications/{name}", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "name", + "typeAsString": "System.String, System.Private.CoreLib", + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + }, + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionUpdateDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionUpdateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionUpdateDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "name", + "name": "name", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "" + }, + { + "nameOnMethod": "input", + "name": "input", + "jsonName": null, + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionUpdateDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionUpdateDto", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "Body", + "descriptorName": "" + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto", + "typeSimple": "LINGYUN.Abp.Notifications.Definitions.Notifications.NotificationDefinitionDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.Definitions.Notifications.INotificationDefinitionAppService" + } + } + }, + "LINGYUN.Abp.Notifications.MyNotificationController": { + "controllerName": "MyNotification", + "controllerGroupName": "MyNotification", + "isRemoteService": true, + "isIntegrationService": false, + "apiVersion": null, + "type": "LINGYUN.Abp.Notifications.MyNotificationController", + "interfaces": [ + { + "type": "LINGYUN.Abp.Notifications.IMyNotificationAppService", + "name": "IMyNotificationAppService", + "methods": [ + { + "name": "MarkReadStateAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.NotificationMarkReadStateInput, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.NotificationMarkReadStateInput", + "typeSimple": "LINGYUN.Abp.Notifications.NotificationMarkReadStateInput", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + } + }, + { + "name": "GetAsync", + "parametersOnMethod": [ + { + "name": "id", + "typeAsString": "System.Int64, System.Private.CoreLib", + "type": "System.Int64", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.UserNotificationDto", + "typeSimple": "LINGYUN.Abp.Notifications.UserNotificationDto" + } + }, + { + "name": "GetListAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.UserNotificationGetByPagedDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.UserNotificationGetByPagedDto", + "typeSimple": "LINGYUN.Abp.Notifications.UserNotificationGetByPagedDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.PagedResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.PagedResultDto" + } + }, + { + "name": "DeleteAsync", + "parametersOnMethod": [ + { + "name": "id", + "typeAsString": "System.Int64, System.Private.CoreLib", + "type": "System.Int64", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + } + } + ] + } + ], + "actions": { + "MarkReadStateAsyncByInput": { + "uniqueName": "MarkReadStateAsyncByInput", + "name": "MarkReadStateAsync", + "httpMethod": "PUT", + "url": "api/notifications/my-notifilers/mark-read-state", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.NotificationMarkReadStateInput, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.NotificationMarkReadStateInput", + "typeSimple": "LINGYUN.Abp.Notifications.NotificationMarkReadStateInput", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "input", + "jsonName": null, + "type": "LINGYUN.Abp.Notifications.NotificationMarkReadStateInput", + "typeSimple": "LINGYUN.Abp.Notifications.NotificationMarkReadStateInput", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "Body", + "descriptorName": "" + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.IMyNotificationAppService" + }, + "DeleteAsyncById": { + "uniqueName": "DeleteAsyncById", + "name": "DeleteAsync", + "httpMethod": "DELETE", + "url": "api/notifications/my-notifilers/{id}", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "id", + "typeAsString": "System.Int64, System.Private.CoreLib", + "type": "System.Int64", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "id", + "name": "id", + "jsonName": null, + "type": "System.Int64", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "" + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + }, + "allowAnonymous": false, + "implementFrom": "Volo.Abp.Application.Services.IDeleteAppService" + }, + "GetAsyncById": { + "uniqueName": "GetAsyncById", + "name": "GetAsync", + "httpMethod": "GET", + "url": "api/notifications/my-notifilers/{id}", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "id", + "typeAsString": "System.Int64, System.Private.CoreLib", + "type": "System.Int64", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "id", + "name": "id", + "jsonName": null, + "type": "System.Int64", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "" + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.UserNotificationDto", + "typeSimple": "LINGYUN.Abp.Notifications.UserNotificationDto" + }, + "allowAnonymous": false, + "implementFrom": "Volo.Abp.Application.Services.IReadOnlyAppService" + }, + "GetListAsyncByInput": { + "uniqueName": "GetListAsyncByInput", + "name": "GetListAsync", + "httpMethod": "GET", + "url": "api/notifications/my-notifilers", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.UserNotificationGetByPagedDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.UserNotificationGetByPagedDto", + "typeSimple": "LINGYUN.Abp.Notifications.UserNotificationGetByPagedDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "Filter", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "ReadState", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "Sorting", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "SkipCount", + "jsonName": null, + "type": "System.Int32", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "MaxResultCount", + "jsonName": null, + "type": "System.Int32", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.PagedResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.PagedResultDto" + }, + "allowAnonymous": false, + "implementFrom": "Volo.Abp.Application.Services.IReadOnlyAppService" + } + } + }, + "LINGYUN.Abp.Notifications.MySubscriptionController": { + "controllerName": "MySubscription", + "controllerGroupName": "MySubscription", + "isRemoteService": true, + "isIntegrationService": false, + "apiVersion": null, + "type": "LINGYUN.Abp.Notifications.MySubscriptionController", + "interfaces": [ + { + "type": "LINGYUN.Abp.Notifications.IMySubscriptionAppService", + "name": "IMySubscriptionAppService", + "methods": [ + { + "name": "IsSubscribedAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "typeSimple": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.UserSubscriptionsResult", + "typeSimple": "LINGYUN.Abp.Notifications.UserSubscriptionsResult" + } + }, + { + "name": "SubscribeAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "typeSimple": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + } + }, + { + "name": "UnSubscribeAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "typeSimple": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + } + }, + { + "name": "GetListAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.SubscriptionsGetByPagedDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.SubscriptionsGetByPagedDto", + "typeSimple": "LINGYUN.Abp.Notifications.SubscriptionsGetByPagedDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.PagedResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.PagedResultDto" + } + }, + { + "name": "GetAllListAsync", + "parametersOnMethod": [], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + } + } + ] + } + ], + "actions": { + "GetAllListAsync": { + "uniqueName": "GetAllListAsync", + "name": "GetAllListAsync", + "httpMethod": "GET", + "url": "api/notifications/my-subscribes/all", + "supportedVersions": [], + "parametersOnMethod": [], + "parameters": [], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.IMySubscriptionAppService" + }, + "GetListAsyncByInput": { + "uniqueName": "GetListAsyncByInput", + "name": "GetListAsync", + "httpMethod": "GET", + "url": "api/notifications/my-subscribes", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.SubscriptionsGetByPagedDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.SubscriptionsGetByPagedDto", + "typeSimple": "LINGYUN.Abp.Notifications.SubscriptionsGetByPagedDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "Sorting", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "SkipCount", + "jsonName": null, + "type": "System.Int32", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, + { + "nameOnMethod": "input", + "name": "MaxResultCount", + "jsonName": null, + "type": "System.Int32", + "typeSimple": "number", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + } + ], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.PagedResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.PagedResultDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.IMySubscriptionAppService" + }, + "IsSubscribedAsyncByInput": { + "uniqueName": "IsSubscribedAsyncByInput", + "name": "IsSubscribedAsync", + "httpMethod": "GET", + "url": "api/notifications/my-subscribes/is-subscribed/{Name}", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "typeSimple": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "Name", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "input" + } + ], + "returnValue": { + "type": "LINGYUN.Abp.Notifications.UserSubscriptionsResult", + "typeSimple": "LINGYUN.Abp.Notifications.UserSubscriptionsResult" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.IMySubscriptionAppService" + }, + "SubscribeAsyncByInput": { + "uniqueName": "SubscribeAsyncByInput", + "name": "SubscribeAsync", + "httpMethod": "POST", + "url": "api/notifications/my-subscribes", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "typeSimple": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "input", + "jsonName": null, + "type": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "typeSimple": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "Body", + "descriptorName": "" + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.IMySubscriptionAppService" + }, + "UnSubscribeAsyncByInput": { + "uniqueName": "UnSubscribeAsyncByInput", + "name": "UnSubscribeAsync", + "httpMethod": "DELETE", + "url": "api/notifications/my-subscribes", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "typeSimple": "LINGYUN.Abp.Notifications.SubscriptionsGetByNameDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "Name", + "jsonName": null, + "type": "System.String", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.IMySubscriptionAppService" + } + } + }, + "LINGYUN.Abp.Notifications.NotificationController": { + "controllerName": "Notification", + "controllerGroupName": "Notification", + "isRemoteService": true, + "isIntegrationService": false, + "apiVersion": null, + "type": "LINGYUN.Abp.Notifications.NotificationController", + "interfaces": [ + { + "type": "LINGYUN.Abp.Notifications.INotificationAppService", + "name": "INotificationAppService", + "methods": [ + { + "name": "GetAssignableNotifiersAsync", + "parametersOnMethod": [], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + } + }, + { + "name": "GetAssignableTemplatesAsync", + "parametersOnMethod": [], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + } + }, + { + "name": "SendAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.NotificationSendDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.NotificationSendDto", + "typeSimple": "LINGYUN.Abp.Notifications.NotificationSendDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + } + }, + { + "name": "SendAsync", + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.NotificationTemplateSendDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.NotificationTemplateSendDto", + "typeSimple": "LINGYUN.Abp.Notifications.NotificationTemplateSendDto", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + } + } + ] + } + ], + "actions": { + "SendAsyncByInput": { + "uniqueName": "SendAsyncByInput", + "name": "SendAsync", + "httpMethod": "POST", + "url": "api/notifications/send", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "input", + "typeAsString": "LINGYUN.Abp.Notifications.NotificationSendDto, LINGYUN.Abp.Notifications.Application.Contracts", + "type": "LINGYUN.Abp.Notifications.NotificationSendDto", + "typeSimple": "LINGYUN.Abp.Notifications.NotificationSendDto", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "input", + "name": "input", + "jsonName": null, + "type": "LINGYUN.Abp.Notifications.NotificationSendDto", + "typeSimple": "LINGYUN.Abp.Notifications.NotificationSendDto", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "Body", + "descriptorName": "" + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.INotificationAppService" + }, + "GetAssignableNotifiersAsync": { + "uniqueName": "GetAssignableNotifiersAsync", + "name": "GetAssignableNotifiersAsync", + "httpMethod": "GET", + "url": "api/notifications/assignables", + "supportedVersions": [], + "parametersOnMethod": [], + "parameters": [], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.INotificationAppService" + }, + "GetAssignableTemplatesAsync": { + "uniqueName": "GetAssignableTemplatesAsync", + "name": "GetAssignableTemplatesAsync", + "httpMethod": "GET", + "url": "api/notifications/assignable-templates", + "supportedVersions": [], + "parametersOnMethod": [], + "parameters": [], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + }, + "allowAnonymous": false, + "implementFrom": "LINGYUN.Abp.Notifications.INotificationAppService" + } + } + } + } + } + }, + "types": {} +} \ No newline at end of file diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/FodyWeavers.xml b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/FodyWeavers.xml new file mode 100644 index 000000000..1715698cc --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/FodyWeavers.xsd b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/FodyWeavers.xsd new file mode 100644 index 000000000..3f3946e28 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/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/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/LINGYUN.Abp.Notifications.HttpApi.Client.csproj b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/LINGYUN.Abp.Notifications.HttpApi.Client.csproj new file mode 100644 index 000000000..380a3b5b6 --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/LINGYUN.Abp.Notifications.HttpApi.Client.csproj @@ -0,0 +1,23 @@ + + + + + + + netstandard2.0 + + + + + + + + + + + + + + + + diff --git a/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/LINGYUN/Abp/Notifications/AbpNotificationsHttpApiClientModule.cs b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/LINGYUN/Abp/Notifications/AbpNotificationsHttpApiClientModule.cs new file mode 100644 index 000000000..7c5b2b0ef --- /dev/null +++ b/aspnet-core/modules/realtime-notifications/LINGYUN.Abp.Notifications.HttpApi.Client/LINGYUN/Abp/Notifications/AbpNotificationsHttpApiClientModule.cs @@ -0,0 +1,19 @@ +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Http.Client; +using Volo.Abp.Modularity; + +namespace LINGYUN.Abp.Notifications; + +[DependsOn( + typeof(AbpHttpClientModule), + typeof(AbpNotificationsApplicationContractsModule))] +public class AbpNotificationsHttpApiClientModule : AbpModule +{ + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddStaticHttpClientProxies( + typeof(AbpNotificationsApplicationContractsModule).Assembly, + AbpNotificationsRemoteServiceConsts.RemoteServiceName + ); + } +} diff --git a/aspnet-core/services/LY.MicroService.Applications.Single/AbpDynamicFeatureDefinitionStoreInMemoryCache.cs b/aspnet-core/services/LY.MicroService.Applications.Single/AbpDynamicFeatureDefinitionStoreInMemoryCache.cs new file mode 100644 index 000000000..ff908c19c --- /dev/null +++ b/aspnet-core/services/LY.MicroService.Applications.Single/AbpDynamicFeatureDefinitionStoreInMemoryCache.cs @@ -0,0 +1,112 @@ + +using Volo.Abp.DependencyInjection; + +namespace LY.MicroService.Applications.Single; + +[Dependency(ServiceLifetime.Singleton, ReplaceServices = true)] +public class AbpDynamicFeatureDefinitionStoreInMemoryCache : IDynamicFeatureDefinitionStoreInMemoryCache +{ + public string CacheStamp { get; set; } + + protected IDictionary FeatureGroupDefinitions { get; } + protected IDictionary FeatureDefinitions { get; } + protected StringValueTypeSerializer StateCheckerSerializer { get; } + protected ILocalizableStringSerializer LocalizableStringSerializer { get; } + + public SemaphoreSlim SyncSemaphore { get; } = new(1, 1); + + public DateTime? LastCheckTime { get; set; } + + public AbpDynamicFeatureDefinitionStoreInMemoryCache( + StringValueTypeSerializer stateCheckerSerializer, + ILocalizableStringSerializer localizableStringSerializer) + { + StateCheckerSerializer = stateCheckerSerializer; + LocalizableStringSerializer = localizableStringSerializer; + + FeatureGroupDefinitions = new Dictionary(); + FeatureDefinitions = new Dictionary(); + } + + public Task FillAsync( + List featureGroupRecords, + List featureRecords) + { + FeatureGroupDefinitions.Clear(); + FeatureDefinitions.Clear(); + + var context = new FeatureDefinitionContext(); + + foreach (var featureGroupRecord in featureGroupRecords) + { + var featureGroup = context.AddGroup( + featureGroupRecord.Name, + featureGroupRecord.DisplayName != null ? LocalizableStringSerializer.Deserialize(featureGroupRecord.DisplayName) : null + ); + + FeatureGroupDefinitions[featureGroup.Name] = featureGroup; + + foreach (var property in featureGroupRecord.ExtraProperties) + { + featureGroup[property.Key] = property.Value; + } + + var featureRecordsInThisGroup = featureRecords + .Where(p => p.GroupName == featureGroup.Name); + + foreach (var featureRecord in featureRecordsInThisGroup.Where(x => x.ParentName == null)) + { + AddFeatureRecursively(featureGroup, featureRecord, featureRecords); + } + } + + return Task.CompletedTask; + } + + public FeatureDefinition GetFeatureOrNull(string name) + { + return FeatureDefinitions.GetOrDefault(name); + } + + public IReadOnlyList GetFeatures() + { + return FeatureDefinitions.Values.ToList(); + } + + public IReadOnlyList GetGroups() + { + return FeatureGroupDefinitions.Values.ToList(); + } + + private void AddFeatureRecursively(ICanCreateChildFeature featureContainer, + FeatureDefinitionRecord featureRecord, + List allFeatureRecords) + { + var feature = featureContainer.CreateChildFeature( + featureRecord.Name, + featureRecord.DefaultValue, + featureRecord.DisplayName != null ? LocalizableStringSerializer.Deserialize(featureRecord.DisplayName) : null, + featureRecord.Description != null ? LocalizableStringSerializer.Deserialize(featureRecord.Description) : null, + StateCheckerSerializer.Deserialize(featureRecord.ValueType), + featureRecord.IsVisibleToClients, + featureRecord.IsAvailableToHost + ); + + FeatureDefinitions[feature.Name] = feature; + + if (!featureRecord.AllowedProviders.IsNullOrWhiteSpace()) + { + feature.AllowedProviders.AddRange(featureRecord.AllowedProviders.Split(',')); + } + + foreach (var property in featureRecord.ExtraProperties) + { + feature[property.Key] = property.Value; + } + + foreach (var subFeature in allFeatureRecords.Where(p => p.ParentName == featureRecord.Name)) + { + AddFeatureRecursively(feature, subFeature, allFeatureRecords); + } + } +} diff --git a/aspnet-core/services/LY.MicroService.Applications.Single/LY.MicroService.Applications.Single.csproj b/aspnet-core/services/LY.MicroService.Applications.Single/LY.MicroService.Applications.Single.csproj index 940ca5513..9816ccf80 100644 --- a/aspnet-core/services/LY.MicroService.Applications.Single/LY.MicroService.Applications.Single.csproj +++ b/aspnet-core/services/LY.MicroService.Applications.Single/LY.MicroService.Applications.Single.csproj @@ -11,6 +11,12 @@ + + + + + + @@ -58,6 +64,7 @@ + @@ -69,6 +76,7 @@ + diff --git a/aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.Configure.cs b/aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.Configure.cs index 60b7ab0e9..35cb39b6d 100644 --- a/aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.Configure.cs +++ b/aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.Configure.cs @@ -1,4 +1,7 @@ -using VoloAbpExceptionHandlingOptions = Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingOptions; +using DotNetCore.CAP; +using Microsoft.Extensions.Configuration; +using Savorboard.CAP.InMemoryMessageQueue; +using VoloAbpExceptionHandlingOptions = Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingOptions; namespace LY.MicroService.Applications.Single; @@ -34,6 +37,28 @@ public partial class MicroServiceApplicationsSingleModule } } + private void PreConfigureCAP(IConfiguration configuration) + { + PreConfigure(options => + { + options.UseDashboard(); + if (!configuration.GetValue("CAP:IsEnabled")) + { + options.UseInMemoryStorage().UseInMemoryMessageQueue(); + return; + } + options + .UseMySql(sqlOptions => + { + configuration.GetSection("CAP:MySql").Bind(sqlOptions); + }) + .UseRabbitMQ(rabbitMQOptions => + { + configuration.GetSection("CAP:RabbitMQ").Bind(rabbitMQOptions); + }); + }); + } + private void PreConfigureAuthServer(IConfiguration configuration) { PreConfigure(builder => @@ -480,8 +505,12 @@ public partial class MicroServiceApplicationsSingleModule }); } - private void ConfigureDbContext() + private void ConfigureDbContext(IConfiguration configuration) { + Configure(options => + { + configuration.GetSection("Databases").Bind(options.Databases); + }); Configure(options => { options.UseMySQL(); diff --git a/aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.cs b/aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.cs index bd351f654..5551c0b04 100644 --- a/aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.cs +++ b/aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.cs @@ -1,4 +1,6 @@ -using Volo.Abp.MailKit; +using LINGYUN.Abp.AuditLogging.IP2Region; +using LINGYUN.Abp.EventBus.CAP; +using Volo.Abp.MailKit; namespace LY.MicroService.Applications.Single; @@ -8,6 +10,7 @@ namespace LY.MicroService.Applications.Single; typeof(AbpAccountWebOpenIddictModule), typeof(AbpAuditingApplicationModule), typeof(AbpAuditingHttpApiModule), + typeof(AbpAuditLoggingIP2RegionModule), typeof(AbpAuditLoggingEntityFrameworkCoreModule), typeof(AbpCachingManagementStackExchangeRedisModule), typeof(AbpCachingManagementApplicationModule), @@ -184,6 +187,8 @@ namespace LY.MicroService.Applications.Single; typeof(AbpElsaEntityFrameworkCoreModule), typeof(AbpElsaEntityFrameworkCoreMySqlModule), + typeof(AbpCAPEventBusModule), + typeof(AbpExporterMiniExcelModule), typeof(AbpAspNetCoreMvcUiMultiTenancyModule), typeof(AbpAspNetCoreSerilogModule), @@ -193,7 +198,6 @@ namespace LY.MicroService.Applications.Single; typeof(AbpAspNetCoreHttpOverridesModule), typeof(AbpAspNetCoreMvcUiBasicThemeModule), typeof(AbpMailKitModule), - typeof(AbpEventBusModule), typeof(AbpAutofacModule) )] public partial class MicroServiceApplicationsSingleModule : AbpModule @@ -207,6 +211,7 @@ public partial class MicroServiceApplicationsSingleModule : AbpModule PreConfigureFeature(); PreConfigureIdentity(); PreConfigureApp(configuration); + PreConfigureCAP(configuration); PreConfigureQuartz(configuration); PreConfigureAuthServer(configuration); PreConfigureElsa(context.Services, configuration); @@ -222,7 +227,6 @@ public partial class MicroServiceApplicationsSingleModule : AbpModule ConfigureWrapper(); ConfigureExporter(); ConfigureAuditing(); - ConfigureDbContext(); ConfigureIdempotent(); ConfigureMvcUiTheme(); ConfigureDataSeeder(); @@ -236,6 +240,7 @@ public partial class MicroServiceApplicationsSingleModule : AbpModule ConfigureCaching(configuration); ConfigureAuditing(configuration); ConfigureIdentity(configuration); + ConfigureDbContext(configuration); ConfigureAuthServer(configuration); ConfigureSwagger(context.Services); ConfigureEndpoints(context.Services); diff --git a/aspnet-core/services/LY.MicroService.Applications.Single/appsettings.Development.json b/aspnet-core/services/LY.MicroService.Applications.Single/appsettings.Development.json index 0c098a119..2b7449070 100644 --- a/aspnet-core/services/LY.MicroService.Applications.Single/appsettings.Development.json +++ b/aspnet-core/services/LY.MicroService.Applications.Single/appsettings.Development.json @@ -27,6 +27,29 @@ "Auditing": { "AllEntitiesSelector": true }, + + "CAP": { + "IsEnabled": false, + "EventBus": { + "DefaultGroupName": "Platform", + "GroupNamePrefix": "Dev", + "Version": "v1", + "FailedRetryInterval": 300, + "FailedRetryCount": 10 + }, + "MySql": { + "TableNamePrefix": "pt_event", + "ConnectionString": "Server=127.0.0.1;Database=Platform-V70;User Id=root;Password=123456;SslMode=None" + }, + "RabbitMQ": { + "HostName": "127.0.0.1", + "Port": 5672, + "UserName": "admin", + "Password": "123456", + "ExchangeName": "LINGYUN.Abp.Application", + "VirtualHost": "/" + } + }, "DistributedCache": { "HideErrors": true, "KeyPrefix": "LINGYUN.Abp.Application", diff --git a/aspnet-core/services/LY.MicroService.Applications.Single/appsettings.json b/aspnet-core/services/LY.MicroService.Applications.Single/appsettings.json index 45cf023f2..51278908b 100644 --- a/aspnet-core/services/LY.MicroService.Applications.Single/appsettings.json +++ b/aspnet-core/services/LY.MicroService.Applications.Single/appsettings.json @@ -1,4 +1,7 @@ { + "CAP": { + "IsEnabled": false + }, "Forwarded": { "ForwardedHeaders": "XForwardedFor,XForwardedProto" }, diff --git a/aspnet-core/tests/LINGYUN.Abp.IP2Region.Tests/LINGYUN/Abp/IP2Region/SearcherTest.cs b/aspnet-core/tests/LINGYUN.Abp.IP2Region.Tests/LINGYUN/Abp/IP2Region/SearcherTest.cs index 3ecc84634..a8b249ce9 100644 --- a/aspnet-core/tests/LINGYUN.Abp.IP2Region.Tests/LINGYUN/Abp/IP2Region/SearcherTest.cs +++ b/aspnet-core/tests/LINGYUN.Abp.IP2Region.Tests/LINGYUN/Abp/IP2Region/SearcherTest.cs @@ -1,4 +1,5 @@ using IP2Region.Net.XDB; +using Shouldly; using System; using System.IO; using System.Linq; @@ -16,6 +17,18 @@ public class SearcherTest : AbpIP2RegionTestBase _xdbStream = virtualFileProvider.GetFileInfo("/LINGYUN/Abp/IP2Region/Resources/ip2region.xdb").CreateReadStream(); } + [Theory] + [InlineData("8.8.8.8", "美国")] + [InlineData("36.133.108.1", "重庆市")] + [InlineData("111.26.31.1", "吉林省吉林市")] + [InlineData("220.246.0.1", "中国香港")] + public async void TestSearchLocation(string ip, string shouleBeRemarks) + { + var provider = GetRequiredService(); + var locationInfo = await provider.GetLocationInfoAsync(ip); + locationInfo.Remarks.ShouldBe(shouleBeRemarks); + } + [Theory] [InlineData("114.114.114.114")] [InlineData("119.29.29.29")]