<?php
declare(strict_types=1);

namespace Leadlion\Autogedal\Setup\Patch\Data;

use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\Setup\ModuleDataSetupInterface;
use Magento\Framework\Setup\Patch\DataPatchInterface;

class AddCuiAndRegNumberToFooterCopyright implements DataPatchInterface
{
    private const CONFIG_PATH = 'porto_settings/footer/footer_bottom_copyrights';
    private const OLD_VALUE = 'TOATE DREPTURILE REZERVATE © 2011 - 2026 AUTO GEDAL IMPEX SRL (AUTOGEDAL.RO)';
    private const NEW_VALUE = 'TOATE DREPTURILE REZERVATE © 2011 - 2026 AUTO GEDAL IMPEX SRL (AUTOGEDAL.RO)'
        . ' | CUI: 28486416 | Nr. Reg. Com.: J2011000935162';

    /**
     * @var ModuleDataSetupInterface
     */
    private $moduleDataSetup;

    public function __construct(ModuleDataSetupInterface $moduleDataSetup)
    {
        $this->moduleDataSetup = $moduleDataSetup;
    }

    /**
     * @inheritDoc
     */
    public function apply(): AddCuiAndRegNumberToFooterCopyright
    {
        $connection = $this->moduleDataSetup->getConnection();
        $table = $this->moduleDataSetup->getTable('core_config_data');

        $connection->update(
            $table,
            ['value' => self::NEW_VALUE],
            [
                'path = ?' => self::CONFIG_PATH,
                'scope = ?' => ScopeConfigInterface::SCOPE_TYPE_DEFAULT,
                'scope_id = ?' => 0,
                'value = ?' => self::OLD_VALUE,
            ]
        );

        return $this;
    }

    /**
     * @inheritDoc
     */
    public function getAliases(): array
    {
        return [];
    }

    /**
     * @inheritDoc
     */
    public static function getDependencies(): array
    {
        return [];
    }
}
