Browse Source

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

pull/1565/head
colin 2 weeks ago
parent
commit
7a94d0fe23
  1. 10
      aspnet-core/modules/feature-management/LINGYUN.Abp.FeatureManagement.Application/LINGYUN/Abp/FeatureManagement/Definitions/FeatureDefinitionAppService.cs
  2. 11
      aspnet-core/modules/feature-management/LINGYUN.Abp.FeatureManagement.Application/LINGYUN/Abp/FeatureManagement/Definitions/FeatureGroupDefinitionAppService.cs

10
aspnet-core/modules/feature-management/LINGYUN.Abp.FeatureManagement.Application/LINGYUN/Abp/FeatureManagement/Definitions/FeatureDefinitionAppService.cs

@ -11,6 +11,7 @@ using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
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.FeatureManagement; using Volo.Abp.FeatureManagement;
using Volo.Abp.Features; using Volo.Abp.Features;
using Volo.Abp.Validation; using Volo.Abp.Validation;
@ -20,6 +21,7 @@ namespace LINGYUN.Abp.FeatureManagement.Definitions;
[Authorize(FeatureManagementPermissionNames.Definition.Default)] [Authorize(FeatureManagementPermissionNames.Definition.Default)]
public class FeatureDefinitionAppService : FeatureManagementAppServiceBase, IFeatureDefinitionAppService public class FeatureDefinitionAppService : FeatureManagementAppServiceBase, IFeatureDefinitionAppService
{ {
private readonly ILocalEventBus _eventBus;
private readonly StringValueTypeSerializer _stringValueTypeSerializer; private readonly StringValueTypeSerializer _stringValueTypeSerializer;
private readonly IFeatureValueProviderManager _featureValueProviderManager; private readonly IFeatureValueProviderManager _featureValueProviderManager;
private readonly IFeatureDefinitionRecordRepository _definitionRepository; private readonly IFeatureDefinitionRecordRepository _definitionRepository;
@ -27,12 +29,14 @@ public class FeatureDefinitionAppService : FeatureManagementAppServiceBase, IFea
private readonly IRepository<FeatureGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository; private readonly IRepository<FeatureGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository;
public FeatureDefinitionAppService( public FeatureDefinitionAppService(
ILocalEventBus eventBus,
StringValueTypeSerializer stringValueTypeSerializer, StringValueTypeSerializer stringValueTypeSerializer,
IFeatureValueProviderManager featureValueProviderManager, IFeatureValueProviderManager featureValueProviderManager,
IFeatureDefinitionRecordRepository definitionRepository, IFeatureDefinitionRecordRepository definitionRepository,
IRepository<FeatureDefinitionRecord, Guid> definitionBasicRepository, IRepository<FeatureDefinitionRecord, Guid> definitionBasicRepository,
IRepository<FeatureGroupDefinitionRecord, Guid> groupDefinitionBasicRepository) IRepository<FeatureGroupDefinitionRecord, Guid> groupDefinitionBasicRepository)
{ {
_eventBus = eventBus;
_stringValueTypeSerializer = stringValueTypeSerializer; _stringValueTypeSerializer = stringValueTypeSerializer;
_featureValueProviderManager = featureValueProviderManager; _featureValueProviderManager = featureValueProviderManager;
_definitionRepository = definitionRepository; _definitionRepository = definitionRepository;
@ -89,6 +93,8 @@ public class FeatureDefinitionAppService : FeatureManagementAppServiceBase, IFea
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticFeatureDefinitionChangedEvent());
return DefinitionRecordToDto(definitionRecord); return DefinitionRecordToDto(definitionRecord);
} }
@ -104,6 +110,8 @@ public class FeatureDefinitionAppService : FeatureManagementAppServiceBase, IFea
await _definitionRepository.DeleteAsync(definitionRecord); await _definitionRepository.DeleteAsync(definitionRecord);
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticFeatureDefinitionChangedEvent());
} }
public async virtual Task<FeatureDefinitionDto> GetAsync(string name) public async virtual Task<FeatureDefinitionDto> GetAsync(string name)
@ -142,6 +150,8 @@ public class FeatureDefinitionAppService : FeatureManagementAppServiceBase, IFea
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticFeatureDefinitionChangedEvent());
return DefinitionRecordToDto(definitionRecord); return DefinitionRecordToDto(definitionRecord);
} }

11
aspnet-core/modules/feature-management/LINGYUN.Abp.FeatureManagement.Application/LINGYUN/Abp/FeatureManagement/Definitions/FeatureGroupDefinitionAppService.cs

@ -10,20 +10,25 @@ using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
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.FeatureManagement; using Volo.Abp.FeatureManagement;
using Volo.Abp.Features;
namespace LINGYUN.Abp.FeatureManagement.Definitions; namespace LINGYUN.Abp.FeatureManagement.Definitions;
[Authorize(FeatureManagementPermissionNames.GroupDefinition.Default)] [Authorize(FeatureManagementPermissionNames.GroupDefinition.Default)]
public class FeatureGroupDefinitionAppService : FeatureManagementAppServiceBase, IFeatureGroupDefinitionAppService public class FeatureGroupDefinitionAppService : FeatureManagementAppServiceBase, IFeatureGroupDefinitionAppService
{ {
private readonly ILocalEventBus _eventBus;
private readonly IFeatureGroupDefinitionRecordRepository _groupDefinitionRepository; private readonly IFeatureGroupDefinitionRecordRepository _groupDefinitionRepository;
private readonly IRepository<FeatureGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository; private readonly IRepository<FeatureGroupDefinitionRecord, Guid> _groupDefinitionBasicRepository;
public FeatureGroupDefinitionAppService( public FeatureGroupDefinitionAppService(
ILocalEventBus eventBus,
IFeatureGroupDefinitionRecordRepository groupDefinitionRepository, IFeatureGroupDefinitionRecordRepository groupDefinitionRepository,
IRepository<FeatureGroupDefinitionRecord, Guid> groupDefinitionBasicRepository) IRepository<FeatureGroupDefinitionRecord, Guid> groupDefinitionBasicRepository)
{ {
_eventBus = eventBus;
_groupDefinitionRepository = groupDefinitionRepository; _groupDefinitionRepository = groupDefinitionRepository;
_groupDefinitionBasicRepository = groupDefinitionBasicRepository; _groupDefinitionBasicRepository = groupDefinitionBasicRepository;
} }
@ -51,6 +56,8 @@ public class FeatureGroupDefinitionAppService : FeatureManagementAppServiceBase,
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticFeatureDefinitionChangedEvent());
return GroupDefinitionRecordToDto(groupDefinitionRecord); return GroupDefinitionRecordToDto(groupDefinitionRecord);
} }
@ -66,6 +73,8 @@ public class FeatureGroupDefinitionAppService : FeatureManagementAppServiceBase,
await _groupDefinitionRepository.DeleteAsync(groupDefinitionRecord); await _groupDefinitionRepository.DeleteAsync(groupDefinitionRecord);
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticFeatureDefinitionChangedEvent());
} }
public async virtual Task<FeatureGroupDefinitionDto> GetAsync(string name) public async virtual Task<FeatureGroupDefinitionDto> GetAsync(string name)
@ -106,6 +115,8 @@ public class FeatureGroupDefinitionAppService : FeatureManagementAppServiceBase,
await CurrentUnitOfWork!.SaveChangesAsync(); await CurrentUnitOfWork!.SaveChangesAsync();
await _eventBus.PublishAsync(new StaticFeatureDefinitionChangedEvent());
return GroupDefinitionRecordToDto(groupDefinitionRecord); return GroupDefinitionRecordToDto(groupDefinitionRecord);
} }

Loading…
Cancel
Save