using Nop.Core.Domain.Customers; using Nop.Core.Domain.Security; using Nop.Web.Areas.Admin.Models.Security; namespace Nop.Web.Areas.Admin.Factories; /// /// Represents the security model factory /// public partial interface ISecurityModelFactory { /// /// Prepare permission configuration model /// /// Permission configuration model /// /// A task that represents the asynchronous operation /// The task result contains the permission configuration model /// Task PreparePermissionConfigurationModelAsync(PermissionConfigurationModel model); /// /// Prepare permission item model /// /// Permission record /// All available customer roles /// /// A task that represents the asynchronous operation /// The task result contains the permission item model /// Task PreparePermissionItemModelAsync(PermissionRecord permissionRecord, IList availableRoles = null); /// /// Prepare permission category list model /// /// permission category search model /// /// A task that represents the asynchronous operation /// The task result contains the permission category list model /// Task PreparePermissionCategoryListModelAsync(PermissionCategorySearchModel searchModel); /// /// Prepare paged permission item list model /// /// Permission item search model /// /// A task that represents the asynchronous operation /// The task result contains the permission item list model /// Task PreparePermissionItemListModelAsync(PermissionItemSearchModel searchModel); }