Browse Source

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

pull/1565/head
colin 2 weeks 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.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<PermissionGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository;
public PermissionDefinitionAppService(
ILocalEventBus eventBus,
IStaticPermissionDefinitionStore staticPermissionDefinitionStore,
IPermissionValueProviderManager permissionValueProviderManager,
ISimpleStateCheckerSerializer simpleStateCheckerSerializer,
@ -36,6 +39,7 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase
IRepository<PermissionDefinitionRecord, Guid> definitionBasicRepository,
IRepository<PermissionGroupDefinitionRecord, Guid> 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<PermissionDefinitionDto> GetAsync(string name)
@ -146,6 +154,8 @@ public class PermissionDefinitionAppService : PermissionManagementAppServiceBase
await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent());
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 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<PermissionGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository;
public PermissionGroupDefinitionAppService(
ILocalEventBus eventBus,
IPermissionGroupDefinitionRecordRepository groupDefinitionRepository,
IRepository<PermissionGroupDefinitionRecord, Guid> 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<PermissionGroupDefinitionDto> GetAsync(string name)
@ -109,6 +118,8 @@ public class PermissionGroupDefinitionAppService : PermissionManagementAppServic
await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticPermissionDefinitionChangedEvent());
return DefinitionRecordToDto(groupDefinitionRecord);
}

Loading…
Cancel
Save