| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | 
							- <?php
 
- /**
 
-  * Copyright © Magento, Inc. All rights reserved.
 
-  * See COPYING.txt for license details.
 
-  */
 
- declare(strict_types=1);
 
- namespace Magento\CustomerGraphQl\Model\Customer;
 
- use Magento\Customer\Api\AccountManagementInterface;
 
- use Magento\Customer\Api\Data\CustomerInterface;
 
- use Magento\Customer\Api\Data\CustomerInterfaceFactory;
 
- use Magento\Framework\Api\DataObjectHelper;
 
- use Magento\Framework\Exception\LocalizedException;
 
- use Magento\Framework\Exception\NoSuchEntityException;
 
- use Magento\Store\Model\StoreManagerInterface;
 
- /**
 
-  * Class CreateAccount creates new customer account
 
-  */
 
- class CreateAccount
 
- {
 
-     /**
 
-      * @var DataObjectHelper
 
-      */
 
-     private $dataObjectHelper;
 
-     /**
 
-      * @var CustomerInterfaceFactory
 
-      */
 
-     private $customerFactory;
 
-     /**
 
-      * @var AccountManagementInterface
 
-      */
 
-     private $accountManagement;
 
-     /**
 
-      * @var StoreManagerInterface
 
-      */
 
-     private $storeManager;
 
-     /**
 
-      * @param DataObjectHelper $dataObjectHelper
 
-      * @param CustomerInterfaceFactory $customerFactory
 
-      * @param StoreManagerInterface $storeManager
 
-      * @param AccountManagementInterface $accountManagement
 
-      */
 
-     public function __construct(
 
-         DataObjectHelper $dataObjectHelper,
 
-         CustomerInterfaceFactory $customerFactory,
 
-         StoreManagerInterface $storeManager,
 
-         AccountManagementInterface $accountManagement
 
-     ) {
 
-         $this->dataObjectHelper = $dataObjectHelper;
 
-         $this->customerFactory = $customerFactory;
 
-         $this->accountManagement = $accountManagement;
 
-         $this->storeManager = $storeManager;
 
-     }
 
-     /**
 
-      * Creates new customer account
 
-      *
 
-      * @param array $args
 
-      * @return CustomerInterface
 
-      * @throws LocalizedException
 
-      * @throws NoSuchEntityException
 
-      */
 
-     public function execute(array $args): CustomerInterface
 
-     {
 
-         $customerDataObject = $this->customerFactory->create();
 
-         $this->dataObjectHelper->populateWithArray(
 
-             $customerDataObject,
 
-             $args['input'],
 
-             CustomerInterface::class
 
-         );
 
-         $store = $this->storeManager->getStore();
 
-         $customerDataObject->setWebsiteId($store->getWebsiteId());
 
-         $customerDataObject->setStoreId($store->getId());
 
-         $password = array_key_exists('password', $args['input']) ? $args['input']['password'] : null;
 
-         return $this->accountManagement->createAccount($customerDataObject, $password);
 
-     }
 
- }
 
 
  |