From 88a72d8ff8c727fdf9080e5fb1f8d3e7356ea608 Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 21 Nov 2025 17:17:06 +0300 Subject: [PATCH] Add feature checks to PageChangedHandler Introduced checks for MenuFeature global feature and MenuEnable feature flag in PageChangedHandler. The handler now returns early if either feature is disabled, improving feature gating and preventing unnecessary processing. --- .../Volo/CmsKit/Menus/PageChangedHandler.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/PageChangedHandler.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/PageChangedHandler.cs index 68d51841dd..3d7ef40263 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/PageChangedHandler.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Menus/PageChangedHandler.cs @@ -4,6 +4,10 @@ using System.Threading.Tasks; using Volo.Abp.DependencyInjection; using Volo.Abp.Domain.Entities.Events; using Volo.Abp.EventBus; +using Volo.Abp.Features; +using Volo.Abp.GlobalFeatures; +using Volo.CmsKit.Features; +using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Pages; namespace Volo.CmsKit.Menus; @@ -12,19 +16,32 @@ public class PageChangedHandler : ILocalEventHandler>, ITransientDependency { + protected IFeatureChecker FeatureChecker { get; set; } protected IMenuItemRepository MenuRepository { get; } protected MenuItemManager MenuManager { get; } public PageChangedHandler( + IFeatureChecker featureChecker, IMenuItemRepository menuRepository, MenuItemManager menuManager) { + FeatureChecker = featureChecker; MenuRepository = menuRepository; MenuManager = menuManager; } public async Task HandleEventAsync(EntityUpdatedEventData eventData) { + if(!GlobalFeatureManager.Instance.IsEnabled()) + { + return; + } + + if(!await FeatureChecker.IsEnabledAsync(CmsKitFeatures.MenuEnable)) + { + return; + } + // TODO: Write a repository query. var allMenuItems = await MenuRepository.GetListAsync();