Make `CheckPermissionsAsync` obsolete.

pull/13119/head
maliming 3 years ago
parent b38984568b
commit dcb35f2d62
No known key found for this signature in database
GPG Key ID: 096224957E51C89E

@ -1,8 +1,12 @@
using System.Threading.Tasks;
using System;
using System.Threading.Tasks;
namespace Volo.Abp.SettingManagement.Web.Pages.SettingManagement;
public interface ISettingPageContributor
{
Task ConfigureAsync(SettingPageCreationContext context);
[Obsolete("Use SettingPageContributorBase as base class and call `RequiredPermissions` or `RequiredFeatures` for better performance.")]
Task<bool> CheckPermissionsAsync(SettingPageCreationContext context);
}

@ -51,4 +51,9 @@ public abstract class SettingPageContributorBase : ISettingPageContributor
}
public abstract Task ConfigureAsync(SettingPageCreationContext context);
public virtual Task<bool> CheckPermissionsAsync(SettingPageCreationContext context)
{
return Task.FromResult(true);
}
}

@ -83,6 +83,17 @@ public class SettingPageContributorManager : IScopedDependency
}
}
var context = new SettingPageCreationContext(ServiceProvider);
foreach (var contributor in contributors.Where(x => x is not SettingPageContributorBase))
{
#pragma warning disable CS0618
if (await contributor.CheckPermissionsAsync(context))
#pragma warning restore CS0618
{
availableContributors.Add(contributor);
}
}
return availableContributors;
}
}

Loading…
Cancel
Save