Your IP : 216.73.216.220


Current Path : /home/rtorresani/www/vendor/magento/module-theme/Model/Indexer/Design/Config/Plugin/
Upload File :
Current File : //home/rtorresani/www/vendor/magento/module-theme/Model/Indexer/Design/Config/Plugin/Store.php

<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Magento\Theme\Model\Indexer\Design\Config\Plugin;

use Magento\Framework\Indexer\IndexerRegistry;
use Magento\Store\Model\Store as StoreModel;
use Magento\Theme\Model\Data\Design\Config;

class Store
{
    /**
     * @var IndexerRegistry
     */
    protected $indexerRegistry;

    /**
     * @param IndexerRegistry $indexerRegistry
     */
    public function __construct(IndexerRegistry $indexerRegistry)
    {
        $this->indexerRegistry = $indexerRegistry;
    }

    /**
     * Invalidate design config grid indexer on store creation
     *
     * @param StoreModel $subject
     * @param StoreModel $result
     * @return StoreModel
     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
     */
    public function afterSave(StoreModel $subject, StoreModel $result)
    {
        if ($result->isObjectNew()) {
            $this->indexerRegistry->get(Config::DESIGN_CONFIG_GRID_INDEXER_ID)->invalidate();
        }

        return $result;
    }

    /**
     * Invalidate design config grid indexer on store removal
     *
     * @param StoreModel $subject
     * @param StoreModel $result
     * @return StoreModel
     *
     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
     */
    public function afterDelete(StoreModel $subject, $result)
    {
        $this->indexerRegistry->get(Config::DESIGN_CONFIG_GRID_INDEXER_ID)->invalidate();

        return $result;
    }
}