CustomerGroupConfig.php 1.22 KB
Newer Older
Ketan's avatar
Ketan committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */

namespace Magento\Customer\Model;

/**
 * System configuration operations for customer groups.
 */
class CustomerGroupConfig implements \Magento\Customer\Api\CustomerGroupConfigInterface
{
    /**
     * @var \Magento\Config\Model\Config
     */
    private $config;

    /**
     * @var \Magento\Customer\Api\GroupRepositoryInterface
     */
    private $groupRepository;

    /**
     * @param \Magento\Config\Model\Config $config
     * @param \Magento\Customer\Api\GroupRepositoryInterface $groupRepository
     */
    public function __construct(
        \Magento\Config\Model\Config $config,
        \Magento\Customer\Api\GroupRepositoryInterface $groupRepository
    ) {
        $this->config = $config;
        $this->groupRepository = $groupRepository;
    }

    /**
     * @inheritdoc
     */
    public function setDefaultCustomerGroup($id)
    {
        if ($this->groupRepository->getById($id)) {
            $this->config->setDataByPath(
                \Magento\Customer\Model\GroupManagement::XML_PATH_DEFAULT_ID,
                $id
            );
            $this->config->save();
        }

        return $id;
    }
}