using Nop.Services.Plugins; using Nop.Web.Areas.Admin.Models.Plugins; using Nop.Web.Areas.Admin.Models.Plugins.Marketplace; namespace Nop.Web.Areas.Admin.Factories; /// /// Represents the plugin model factory /// public partial interface IPluginModelFactory { /// /// Prepare plugin search model /// /// Plugin search model /// /// A task that represents the asynchronous operation /// The task result contains the plugin search model /// Task PreparePluginSearchModelAsync(PluginSearchModel searchModel); /// /// Prepare paged plugin list model /// /// Plugin search model /// /// A task that represents the asynchronous operation /// The task result contains the plugin list model /// Task PreparePluginListModelAsync(PluginSearchModel searchModel); /// /// Prepare plugin model /// /// Plugin model /// Plugin descriptor /// Whether to exclude populating of some properties of model /// /// A task that represents the asynchronous operation /// The task result contains the plugin model /// Task PreparePluginModelAsync(PluginModel model, PluginDescriptor pluginDescriptor, bool excludeProperties = false); /// /// Prepare search model of plugins of the official feed /// /// Search model of plugins of the official feed /// /// A task that represents the asynchronous operation /// The task result contains the search model of plugins of the official feed /// Task PrepareOfficialFeedPluginSearchModelAsync(OfficialFeedPluginSearchModel searchModel); /// /// Prepare paged list model of plugins of the official feed /// /// Search model of plugins of the official feed /// /// A task that represents the asynchronous operation /// The task result contains the list model of plugins of the official feed /// Task PrepareOfficialFeedPluginListModelAsync(OfficialFeedPluginSearchModel searchModel); /// /// Prepare plugin models for admin navigation /// /// /// A task that represents the asynchronous operation /// The task result contains the list of models /// Task> PrepareAdminNavigationPluginModelsAsync(); }