Browse Source

Add MudBlazorExtensionPropertyPolicyChecker for feature and permission checks

feat/mudblazor
maliming 2 months ago
parent
commit
aecd12de88
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 37
      framework/src/Volo.Abp.MudBlazorUI/MudBlazorExtensionPropertyPolicyChecker.cs

37
framework/src/Volo.Abp.MudBlazorUI/MudBlazorExtensionPropertyPolicyChecker.cs

@ -0,0 +1,37 @@
using System.Threading.Tasks;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.ObjectExtending;
namespace Volo.Abp.MudBlazorUI;
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(ExtensionPropertyPolicyChecker))]
public class MudBlazorExtensionPropertyPolicyChecker : ExtensionPropertyPolicyChecker
{
protected IFeatureChecker FeatureChecker { get; }
protected IPermissionChecker PermissionChecker { get; }
public MudBlazorExtensionPropertyPolicyChecker(IFeatureChecker featureChecker, IPermissionChecker permissionChecker)
{
FeatureChecker = featureChecker;
PermissionChecker = permissionChecker;
}
protected override Task<bool> CheckGlobalFeaturesAsync(string featureName)
{
return Task.FromResult<bool>(GlobalFeatureManager.Instance.IsEnabled(featureName));
}
protected async override Task<bool> CheckFeaturesAsync(string featureName)
{
return await FeatureChecker.IsEnabledAsync(featureName);
}
protected async override Task<bool> CheckPermissionsAsync(string permissionName)
{
return await PermissionChecker.IsGrantedAsync(permissionName);
}
}
Loading…
Cancel
Save