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")]