|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / a / home / dev2.destoffenstraat.com / app / Firebear / ImportExport / Model / Api / Import / |
Filename | /home/a/home/dev2.destoffenstraat.com/app/Firebear/ImportExport/Model/Api/Import/RunChain.php |
Size | 1.85 kb |
Permission | rw-rw-r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 07-Nov-2022 06:44 |
Last accessed | 23-Aug-2025 13:16 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* @copyright: Copyright © 2021 Firebear Studio. All rights reserved.
* @author: Firebear Studio <fbeardev@gmail.com>
*/
namespace Firebear\ImportExport\Model\Api\Import;
use Magento\Framework\Data\Collection;
use Firebear\ImportExport\Api\Data\ImportInterface;
use Firebear\ImportExport\Api\Import\RunByStrategyInterface;
use Firebear\ImportExport\Api\Import\RunChainInterface;
use Firebear\ImportExport\Model\ResourceModel\Job\CollectionFactory;
/**
* Run chain jobs (Service Provider Interface - SPI)
*
* @api
*/
class RunChain implements RunChainInterface
{
/**
* @var CollectionFactory
*/
private $collectionFactory;
/**
* @var RunByStrategyInterface
*/
private $runByStrategy;
/**
* Initialize
*
* @param CollectionFactory $collectionFactory
* @param RunByStrategyInterface $runByStrategy
*/
public function __construct(
CollectionFactory $collectionFactory,
RunByStrategyInterface $runByStrategy
) {
$this->collectionFactory = $collectionFactory;
$this->runByStrategy = $runByStrategy;
}
/**
* Run chain jobs
*
* @param string $type
* @return bool
*/
public function execute($type = 'webapi')
{
$collection = $this->collectionFactory->create();
$collection->addFieldToFilter(ImportInterface::IS_ACTIVE, ImportInterface::STATUS_ENABLED);
$collection->addFieldToFilter(ImportInterface::POSITION, ['notnull' => true]);
$collection->setOrder(ImportInterface::POSITION, Collection::SORT_ORDER_ASC);
if ($collection->getSize()) {
foreach ($collection as $job) {
if (false === $this->runByStrategy->execute($job, $type)) {
return false;
}
}
return true;
}
return false;
}
}
/**
* @copyright: Copyright © 2021 Firebear Studio. All rights reserved.
* @author: Firebear Studio <fbeardev@gmail.com>
*/
namespace Firebear\ImportExport\Model\Api\Import;
use Magento\Framework\Data\Collection;
use Firebear\ImportExport\Api\Data\ImportInterface;
use Firebear\ImportExport\Api\Import\RunByStrategyInterface;
use Firebear\ImportExport\Api\Import\RunChainInterface;
use Firebear\ImportExport\Model\ResourceModel\Job\CollectionFactory;
/**
* Run chain jobs (Service Provider Interface - SPI)
*
* @api
*/
class RunChain implements RunChainInterface
{
/**
* @var CollectionFactory
*/
private $collectionFactory;
/**
* @var RunByStrategyInterface
*/
private $runByStrategy;
/**
* Initialize
*
* @param CollectionFactory $collectionFactory
* @param RunByStrategyInterface $runByStrategy
*/
public function __construct(
CollectionFactory $collectionFactory,
RunByStrategyInterface $runByStrategy
) {
$this->collectionFactory = $collectionFactory;
$this->runByStrategy = $runByStrategy;
}
/**
* Run chain jobs
*
* @param string $type
* @return bool
*/
public function execute($type = 'webapi')
{
$collection = $this->collectionFactory->create();
$collection->addFieldToFilter(ImportInterface::IS_ACTIVE, ImportInterface::STATUS_ENABLED);
$collection->addFieldToFilter(ImportInterface::POSITION, ['notnull' => true]);
$collection->setOrder(ImportInterface::POSITION, Collection::SORT_ORDER_ASC);
if ($collection->getSize()) {
foreach ($collection as $job) {
if (false === $this->runByStrategy->execute($job, $type)) {
return false;
}
}
return true;
}
return false;
}
}