using Microsoft.AspNetCore.Mvc; using Nop.Core.Domain.Customers; namespace Nop.Services.Customers; /// /// Customer registration interface /// public partial interface ICustomerRegistrationService { /// /// Validate customer /// /// Username or email /// Password /// /// A task that represents the asynchronous operation /// The task result contains the result /// Task ValidateCustomerAsync(string usernameOrEmail, string password); /// /// Register customer /// /// Request /// /// A task that represents the asynchronous operation /// The task result contains the result /// Task RegisterCustomerAsync(CustomerRegistrationRequest request); /// /// Change password /// /// Request /// /// A task that represents the asynchronous operation /// The task result contains the result /// Task ChangePasswordAsync(ChangePasswordRequest request); /// /// Login passed user /// /// User to login /// URL to which the user will return after authentication /// Is remember me /// /// A task that represents the asynchronous operation /// The task result contains the result of an authentication /// Task SignInCustomerAsync(Customer customer, string returnUrl, bool isPersist = false); /// /// Sets a user email /// /// Customer /// New email /// Require validation of new email address /// A task that represents the asynchronous operation Task SetEmailAsync(Customer customer, string newEmail, bool requireValidation); /// /// Sets a customer username /// /// Customer /// New Username /// A task that represents the asynchronous operation Task SetUsernameAsync(Customer customer, string newUsername); }