diff --git a/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionDefinitionAppService.cs b/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionDefinitionAppService.cs index 74b4a8222..04859c389 100644 --- a/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionDefinitionAppService.cs +++ b/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionDefinitionAppService.cs @@ -12,6 +12,7 @@ using Volo.Abp.Application.Dtos; using Volo.Abp.Authorization.Permissions; using Volo.Abp.Data; using Volo.Abp.Domain.Repositories; +using Volo.Abp.EventBus.Local; using Volo.Abp.PermissionManagement; using Volo.Abp.SimpleStateChecking; using Volo.Abp.Validation; @@ -21,6 +22,7 @@ namespace LINGYUN.Abp.PermissionManagement.Definitions; [Authorize(PermissionManagementPermissionNames.Definition.Default)] public class PermissionDefinitionAppService : PermissionManagementAppServiceBase, IPermissionDefinitionAppService { + private readonly ILocalEventBus _eventBus; private readonly ISimpleStateCheckerSerializer _simpleStateCheckerSerializer; private readonly IStaticPermissionDefinitionStore _staticPermissionDefinitionStore; private readonly IPermissionValueProviderManager _permissionValueProviderManager; @@ -29,6 +31,7 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase private readonly IRepository _groupDefinitionBasicRepository; public PermissionDefinitionAppService( + ILocalEventBus eventBus, IStaticPermissionDefinitionStore staticPermissionDefinitionStore, IPermissionValueProviderManager permissionValueProviderManager, ISimpleStateCheckerSerializer simpleStateCheckerSerializer, @@ -36,6 +39,7 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase IRepository definitionBasicRepository, IRepository groupDefinitionBasicRepository) { + _eventBus = eventBus; _staticPermissionDefinitionStore = staticPermissionDefinitionStore; _permissionValueProviderManager = permissionValueProviderManager; _simpleStateCheckerSerializer = simpleStateCheckerSerializer; @@ -91,6 +95,8 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase await CurrentUnitOfWork!.SaveChangesAsync(); + await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent()); + return DefinitionRecordToDto(definitionRecord); } @@ -106,6 +112,8 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase await _definitionRepository.DeleteAsync(definitionRecord); await CurrentUnitOfWork!.SaveChangesAsync(); + + await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent()); } public async virtual Task GetAsync(string name) @@ -146,6 +154,8 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase await CurrentUnitOfWork!.SaveChangesAsync(); + await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent()); + return DefinitionRecordToDto(definitionRecord); } diff --git a/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionGroupDefinitionAppService.cs b/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionGroupDefinitionAppService.cs index ab5bf9006..13b0e1bf3 100644 --- a/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionGroupDefinitionAppService.cs +++ b/aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionGroupDefinitionAppService.cs @@ -8,8 +8,10 @@ using System.Linq.Expressions; using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.Application.Dtos; +using Volo.Abp.Authorization.Permissions; using Volo.Abp.Data; using Volo.Abp.Domain.Repositories; +using Volo.Abp.EventBus.Local; using Volo.Abp.PermissionManagement; namespace LINGYUN.Abp.PermissionManagement.Definitions; @@ -17,13 +19,16 @@ namespace LINGYUN.Abp.PermissionManagement.Definitions; [Authorize(PermissionManagementPermissionNames.GroupDefinition.Default)] public class PermissionGroupDefinitionAppService : PermissionManagementAppServiceBase, IPermissionGroupDefinitionAppService { + private readonly ILocalEventBus _eventBus; private readonly IPermissionGroupDefinitionRecordRepository _groupDefinitionRepository; private readonly IRepository _groupDefinitionBasicRepository; public PermissionGroupDefinitionAppService( + ILocalEventBus eventBus, IPermissionGroupDefinitionRecordRepository groupDefinitionRepository, IRepository groupDefinitionBasicRepository) { + _eventBus = eventBus; _groupDefinitionRepository = groupDefinitionRepository; _groupDefinitionBasicRepository = groupDefinitionBasicRepository; } @@ -53,6 +58,8 @@ public class PermissionGroupDefinitionAppService : PermissionManagementAppServic await CurrentUnitOfWork!.SaveChangesAsync(); + await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent()); + return DefinitionRecordToDto(groupDefinitionRecord); } @@ -68,6 +75,8 @@ public class PermissionGroupDefinitionAppService : PermissionManagementAppServic await _groupDefinitionRepository.DeleteAsync(groupDefinitionRecord); await CurrentUnitOfWork!.SaveChangesAsync(); + + await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent()); } public async virtual Task GetAsync(string name) @@ -109,6 +118,8 @@ public class PermissionGroupDefinitionAppService : PermissionManagementAppServic await CurrentUnitOfWork!.SaveChangesAsync(); + await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent()); + return DefinitionRecordToDto(groupDefinitionRecord); }