Files
drmaterac.pl/modules/empikmarketplace/src/Handler/UpdateDeleteOfferHandler.php
2025-01-06 20:47:25 +01:00

56 lines
1.4 KiB
PHP

<?php
namespace Empik\Marketplace\Handler;
use Exception;
use Empik\Marketplace\API\EmpikClient;
use Empik\Marketplace\DataProvider\OffersDataProvider;
use Empik\Marketplace\Factory\EmpikClientFactory;
use Empik\Marketplace\Repository\ProductRepository;
use Empik\Marketplace\Traits\ErrorsTrait;
class UpdateDeleteOfferHandler
{
use ErrorsTrait;
/** @var EmpikClientFactory */
protected $empikClientFactory;
/** @var ProductRepository */
protected $productRepository;
/** @var OffersDataProvider */
protected $offersDataProvider;
/** @var EmpikClient */
protected $empikClient;
public function __construct(
EmpikClientFactory $empikClientFactory,
ProductRepository $productRepository,
OffersDataProvider $offersDataProvider
) {
$this->empikClientFactory = $empikClientFactory;
$this->productRepository = $productRepository;
$this->offersDataProvider = $offersDataProvider;
$this->empikClient = $this->empikClientFactory->createClient();
}
public function handle(array $ids)
{
try {
$offersData = $this->offersDataProvider->getOffersDataByProductIds($ids);
$this->empikClient->postOffers($offersData);
return true;
} catch (Exception $e) {
$this->addError($e->getMessage());
}
return false;
}
}