![]() 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/amasty/base/Model/LicenceService/Schedule/ |
<?php declare(strict_types=1); /** * @author Amasty Team * @copyright Copyright (c) Amasty (https://www.amasty.com) * @package Magento 2 Base Package */ namespace Amasty\Base\Model\LicenceService\Schedule; use Amasty\Base\Model\FlagRepository; use Amasty\Base\Model\LicenceService\Schedule\Data\ScheduleConfig; use Amasty\Base\Model\LicenceService\Schedule\Data\ScheduleConfigFactory; use Magento\Framework\Api\DataObjectHelper; use Magento\Framework\Serialize\SerializerInterface; class ScheduleConfigRepository { /** * @var FlagRepository */ private $flagRepository; /** * @var SerializerInterface */ private $serializer; /** * @var DataObjectHelper */ private $dataObjectHelper; /** * @var ScheduleConfigFactory */ private $scheduleConfigFactory; public function __construct( FlagRepository $flagRepository, SerializerInterface $serializer, DataObjectHelper $dataObjectHelper, ScheduleConfigFactory $scheduleConfigFactory ) { $this->flagRepository = $flagRepository; $this->serializer = $serializer; $this->dataObjectHelper = $dataObjectHelper; $this->scheduleConfigFactory = $scheduleConfigFactory; } public function get(string $flag): ScheduleConfig { $scheduleConfigInstance = $this->scheduleConfigFactory->create(); $scheduleConfigSerialized = $this->flagRepository->get($flag); $scheduleConfigArray = $this->serializer->unserialize($scheduleConfigSerialized); if (is_array($scheduleConfigArray)) { $this->dataObjectHelper->populateWithArray( $scheduleConfigInstance, $scheduleConfigArray, ScheduleConfig::class ); } return $scheduleConfigInstance; } public function save(string $flag, ScheduleConfig $scheduleConfig): bool { $scheduleConfigArray = $scheduleConfig->toArray(); $scheduleConfigSerialized = $this->serializer->serialize($scheduleConfigArray); $this->flagRepository->save($flag, $scheduleConfigSerialized); return true; } }