using Nop.Core.Domain.Customers; using Nop.Services.Plugins; namespace Nop.Services.Authentication.MultiFactor; /// /// Represents an multi-factor authentication plugin manager /// public partial interface IMultiFactorAuthenticationPluginManager : IPluginManager { /// /// Check is active multi-factor authentication methods /// /// Filter by customer; pass null to load all plugins /// Filter by store; pass 0 to load all plugins /// /// A task that represents the asynchronous operation /// The task result contains true if we have active multi-factor authentication methods /// Task HasActivePluginsAsync(Customer customer = null, int storeId = 0); /// /// Load active multi-factor authentication methods /// /// Filter by customer; pass null to load all plugins /// Filter by store; pass 0 to load all plugins /// /// A task that represents the asynchronous operation /// The task result contains the list of active multi-factor authentication methods /// Task> LoadActivePluginsAsync(Customer customer = null, int storeId = 0); /// /// Check whether the passed multi-factor authentication method is active /// /// Multi-factor authentication method to check /// Result bool IsPluginActive(IMultiFactorAuthenticationMethod authenticationMethod); /// /// Check whether the multi-factor authentication method with the passed system name is active /// /// System name of multi-factor authentication method to check /// Filter by customer; pass null to load all plugins /// Filter by store; pass 0 to load all plugins /// /// A task that represents the asynchronous operation /// The task result contains the result /// Task IsPluginActiveAsync(string systemName, Customer customer = null, int storeId = 0); }