Browse Source

feat: After the permission definition is changed, a local event is triggered.

pull/1565/head
colin 1 month ago
parent
commit
8996a974d8
  1. 10
      aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionDefinitionAppService.cs
  2. 11
      aspnet-core/modules/permissions-management/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/Definitions/PermissionGroupDefinitionAppService.cs

10
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.Authorization.Permissions;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus.Local;
using Volo.Abp.PermissionManagement; using Volo.Abp.PermissionManagement;
using Volo.Abp.SimpleStateChecking; using Volo.Abp.SimpleStateChecking;
using Volo.Abp.Validation; using Volo.Abp.Validation;
@ -21,6 +22,7 @@ namespace LINGYUN.Abp.PermissionManagement.Definitions;
[Authorize(PermissionManagementPermissionNames.Definition.Default)] [Authorize(PermissionManagementPermissionNames.Definition.Default)]
public class PermissionDefinitionAppService : PermissionManagementAppServiceBase, IPermissionDefinitionAppService public class PermissionDefinitionAppService : PermissionManagementAppServiceBase, IPermissionDefinitionAppService
{ {
private readonly ILocalEventBus _eventBus;
private readonly ISimpleStateCheckerSerializer _simpleStateCheckerSerializer; private readonly ISimpleStateCheckerSerializer _simpleStateCheckerSerializer;
private readonly IStaticPermissionDefinitionStore _staticPermissionDefinitionStore; private readonly IStaticPermissionDefinitionStore _staticPermissionDefinitionStore;
private readonly IPermissionValueProviderManager _permissionValueProviderManager; private readonly IPermissionValueProviderManager _permissionValueProviderManager;
@ -29,6 +31,7 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase
private readonly IRepository<PermissionGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository; private readonly IRepository<PermissionGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository;
public PermissionDefinitionAppService( public PermissionDefinitionAppService(
ILocalEventBus eventBus,
IStaticPermissionDefinitionStore staticPermissionDefinitionStore, IStaticPermissionDefinitionStore staticPermissionDefinitionStore,
IPermissionValueProviderManager permissionValueProviderManager, IPermissionValueProviderManager permissionValueProviderManager,
ISimpleStateCheckerSerializer simpleStateCheckerSerializer, ISimpleStateCheckerSerializer simpleStateCheckerSerializer,
@ -36,6 +39,7 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase
IRepository<PermissionDefinitionRecord, Guid> definitionBasicRepository, IRepository<PermissionDefinitionRecord, Guid> definitionBasicRepository,
IRepository<PermissionGroupDefinitionRecord, Guid> groupDefinitionBasicRepository) IRepository<PermissionGroupDefinitionRecord, Guid> groupDefinitionBasicRepository)
{ {
_eventBus = eventBus;
_staticPermissionDefinitionStore = staticPermissionDefinitionStore; _staticPermissionDefinitionStore = staticPermissionDefinitionStore;
_permissionValueProviderManager = permissionValueProviderManager; _permissionValueProviderManager = permissionValueProviderManager;
_simpleStateCheckerSerializer = simpleStateCheckerSerializer; _simpleStateCheckerSerializer = simpleStateCheckerSerializer;
@ -91,6 +95,8 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent());
return DefinitionRecordToDto(definitionRecord); return DefinitionRecordToDto(definitionRecord);
} }
@ -106,6 +112,8 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase
await _definitionRepository.DeleteAsync(definitionRecord); await _definitionRepository.DeleteAsync(definitionRecord);
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent());
} }
public async virtual Task<PermissionDefinitionDto> GetAsync(string name) public async virtual Task<PermissionDefinitionDto> GetAsync(string name)
@ -146,6 +154,8 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent());
return DefinitionRecordToDto(definitionRecord); return DefinitionRecordToDto(definitionRecord);
} }

11
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 System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus.Local;
using Volo.Abp.PermissionManagement; using Volo.Abp.PermissionManagement;
namespace LINGYUN.Abp.PermissionManagement.Definitions; namespace LINGYUN.Abp.PermissionManagement.Definitions;
@ -17,13 +19,16 @@ namespace LINGYUN.Abp.PermissionManagement.Definitions;
[Authorize(PermissionManagementPermissionNames.GroupDefinition.Default)] [Authorize(PermissionManagementPermissionNames.GroupDefinition.Default)]
public class PermissionGroupDefinitionAppService : PermissionManagementAppServiceBase, IPermissionGroupDefinitionAppService public class PermissionGroupDefinitionAppService : PermissionManagementAppServiceBase, IPermissionGroupDefinitionAppService
{ {
private readonly ILocalEventBus _eventBus;
private readonly IPermissionGroupDefinitionRecordRepository _groupDefinitionRepository; private readonly IPermissionGroupDefinitionRecordRepository _groupDefinitionRepository;
private readonly IRepository<PermissionGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository; private readonly IRepository<PermissionGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository;
public PermissionGroupDefinitionAppService( public PermissionGroupDefinitionAppService(
ILocalEventBus eventBus,
IPermissionGroupDefinitionRecordRepository groupDefinitionRepository, IPermissionGroupDefinitionRecordRepository groupDefinitionRepository,
IRepository<PermissionGroupDefinitionRecord, Guid> groupDefinitionBasicRepository) IRepository<PermissionGroupDefinitionRecord, Guid> groupDefinitionBasicRepository)
{ {
_eventBus = eventBus;
_groupDefinitionRepository = groupDefinitionRepository; _groupDefinitionRepository = groupDefinitionRepository;
_groupDefinitionBasicRepository = groupDefinitionBasicRepository; _groupDefinitionBasicRepository = groupDefinitionBasicRepository;
} }
@ -53,6 +58,8 @@ public class PermissionGroupDefinitionAppService : PermissionManagementAppServic
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent());
return DefinitionRecordToDto(groupDefinitionRecord); return DefinitionRecordToDto(groupDefinitionRecord);
} }
@ -68,6 +75,8 @@ public class PermissionGroupDefinitionAppService : PermissionManagementAppServic
await _groupDefinitionRepository.DeleteAsync(groupDefinitionRecord); await _groupDefinitionRepository.DeleteAsync(groupDefinitionRecord);
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent());
} }
public async virtual Task<PermissionGroupDefinitionDto> GetAsync(string name) public async virtual Task<PermissionGroupDefinitionDto> GetAsync(string name)
@ -109,6 +118,8 @@ public class PermissionGroupDefinitionAppService : PermissionManagementAppServic
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent());
return DefinitionRecordToDto(groupDefinitionRecord); return DefinitionRecordToDto(groupDefinitionRecord);
} }

Loading…
Cancel
Save