![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-customer/Api/ |
<?php /** * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Api; use Magento\Framework\Exception\InputException; use Magento\Framework\Exception\LocalizedException; /** * Interface for managing customers accounts. * @api * @since 100.0.2 */ interface AccountManagementInterface { /**#@+ * Constant for confirmation status */ public const ACCOUNT_CONFIRMED = 'account_confirmed'; public const ACCOUNT_CONFIRMATION_REQUIRED = 'account_confirmation_required'; public const ACCOUNT_CONFIRMATION_NOT_REQUIRED = 'account_confirmation_not_required'; public const MAX_PASSWORD_LENGTH = 256; /**#@-*/ /** * Create customer account. Perform necessary business operations like sending email. * * @param \Magento\Customer\Api\Data\CustomerInterface $customer * @param string $password * @param string $redirectUrl * @return \Magento\Customer\Api\Data\CustomerInterface * @throws \Magento\Framework\Exception\LocalizedException */ public function createAccount( \Magento\Customer\Api\Data\CustomerInterface $customer, $password = null, $redirectUrl = '' ); /** * Create customer account using provided hashed password. Should not be exposed as a webapi. * * @param \Magento\Customer\Api\Data\CustomerInterface $customer * @param string $hash Password hash that we can save directly * @param string $redirectUrl URL fed to welcome email templates. Can be used by templates to, for example, direct * the customer to a product they were looking at after pressing confirmation link. * @return \Magento\Customer\Api\Data\CustomerInterface * @throws \Magento\Framework\Exception\InputException If bad input is provided * @throws \Magento\Framework\Exception\State\InputMismatchException If the provided email is already used * @throws \Magento\Framework\Exception\LocalizedException */ public function createAccountWithPasswordHash( \Magento\Customer\Api\Data\CustomerInterface $customer, $hash, $redirectUrl = '' ); /** * Validate customer data. * * @param \Magento\Customer\Api\Data\CustomerInterface $customer * @return \Magento\Customer\Api\Data\ValidationResultsInterface * @throws \Magento\Framework\Exception\LocalizedException */ public function validate(\Magento\Customer\Api\Data\CustomerInterface $customer); /** * Check if customer can be deleted. * * @param int $customerId * @return bool * @throws \Magento\Framework\Exception\NoSuchEntityException If group is not found * @throws \Magento\Framework\Exception\LocalizedException */ public function isReadonly($customerId); /** * Activate a customer account using a key that was sent in a confirmation email. * * @param string $email * @param string $confirmationKey * @return \Magento\Customer\Api\Data\CustomerInterface * @throws \Magento\Framework\Exception\LocalizedException */ public function activate($email, $confirmationKey); /** * Activate a customer account using a key that was sent in a confirmation email. * * @param int $customerId * @param string $confirmationKey * @return \Magento\Customer\Api\Data\CustomerInterface * @throws \Magento\Framework\Exception\LocalizedException */ public function activateById($customerId, $confirmationKey); /** * Authenticate a customer by username and password * * @param string $email * @param string $password * @return \Magento\Customer\Api\Data\CustomerInterface * @throws \Magento\Framework\Exception\LocalizedException */ public function authenticate($email, $password); /** * Change customer password. * * @param string $email * @param string $currentPassword * @param string $newPassword * @return bool true on success * @throws \Magento\Framework\Exception\LocalizedException */ public function changePassword($email, $currentPassword, $newPassword); /** * Change customer password. * * @param int $customerId * @param string $currentPassword * @param string $newPassword * @return bool true on success * @throws \Magento\Framework\Exception\LocalizedException */ public function changePasswordById($customerId, $currentPassword, $newPassword); /** * Send an email to the customer with a password reset link. * * @param string $email * @param string $template * @param int $websiteId * @return bool true on success * @throws \Magento\Framework\Exception\LocalizedException */ public function initiatePasswordReset($email, $template, $websiteId = null); /** * Reset customer password. * * @param string $email If empty value given then the customer * will be matched by the RP token. * @param string $resetToken * @param string $newPassword * * @return bool true on success * @throws \Magento\Framework\Exception\LocalizedException * @throws InputException */ public function resetPassword($email, $resetToken, $newPassword); /** * Check if password reset token is valid. * * @param int $customerId If null is given then a customer * will be matched by the RP token. * @param string $resetPasswordLinkToken * * @return bool True if the token is valid * @throws \Magento\Framework\Exception\State\InputMismatchException If token is mismatched * @throws \Magento\Framework\Exception\State\ExpiredException If token is expired * @throws \Magento\Framework\Exception\InputException If token or customer id is invalid * @throws \Magento\Framework\Exception\NoSuchEntityException If customer doesn't exist * @throws \Magento\Framework\Exception\LocalizedException */ public function validateResetPasswordLinkToken($customerId, $resetPasswordLinkToken); /** * Gets the account confirmation status. * * @param int $customerId * @return string * @throws \Magento\Framework\Exception\LocalizedException */ public function getConfirmationStatus($customerId); /** * Resend confirmation email. * * @param string $email * @param int $websiteId * @param string $redirectUrl * @return bool true on success * @throws \Magento\Framework\Exception\LocalizedException */ public function resendConfirmation($email, $websiteId, $redirectUrl = ''); /** * Check if given email is associated with a customer account in given website. * * @param string $customerEmail * @param int|null $websiteId If not set, will use the current websiteId * @return bool * @throws \Magento\Framework\Exception\LocalizedException */ public function isEmailAvailable($customerEmail, $websiteId = null); /** * Check store availability for customer given the customerId. * * @param int $customerWebsiteId * @param int $storeId * @return bool * @throws \Magento\Framework\Exception\LocalizedException */ public function isCustomerInStore($customerWebsiteId, $storeId); /** * Retrieve default billing address for the given customerId. * * @param int $customerId * @return \Magento\Customer\Api\Data\AddressInterface * @throws \Magento\Framework\Exception\NoSuchEntityException If the customer Id is invalid * @throws \Magento\Framework\Exception\LocalizedException */ public function getDefaultBillingAddress($customerId); /** * Retrieve default shipping address for the given customerId. * * @param int $customerId * @return \Magento\Customer\Api\Data\AddressInterface * @throws \Magento\Framework\Exception\NoSuchEntityException If the customer Id is invalid * @throws \Magento\Framework\Exception\LocalizedException */ public function getDefaultShippingAddress($customerId); /** * Return hashed password, which can be directly saved to database. * * @param string $password * @return string */ public function getPasswordHash($password); }