53 lines
1.6 KiB
PHP
53 lines
1.6 KiB
PHP
<?php
|
|
|
|
use PrestaShop\Module\PsEventbus\Config\Config;
|
|
use PrestaShop\Module\PsEventbus\Controller\AbstractApiController;
|
|
use PrestaShop\Module\PsEventbus\Exception\EnvVarException;
|
|
use PrestaShop\Module\PsEventbus\Repository\ServerInformationRepository;
|
|
|
|
class ps_EventbusApiInfoModuleFrontController extends AbstractApiController
|
|
{
|
|
public $type = Config::COLLECTION_SHOPS;
|
|
|
|
/**
|
|
* @return void
|
|
*
|
|
* @throws\PrestaShopException
|
|
*/
|
|
public function postProcess()
|
|
{
|
|
$response = [];
|
|
/** @var string $jobId */
|
|
$jobId = Tools::getValue('job_id');
|
|
|
|
/** @var ServerInformationRepository $serverInformationRepository */
|
|
$serverInformationRepository = $this->module->getService(ServerInformationRepository::class);
|
|
|
|
/** @var string $langIso */
|
|
$langIso = Tools::getValue('lang_iso', '');
|
|
$serverInfo = $serverInformationRepository->getServerInformation($langIso);
|
|
|
|
/** @var bool $initFullSync */
|
|
$initFullSync = \Tools::getValue('full', 0) == 1;
|
|
|
|
try {
|
|
$response = $this->proxyService->upload($jobId, $serverInfo, $this->startTime, $initFullSync);
|
|
} catch (EnvVarException|Exception $exception) {
|
|
$this->exitWithExceptionMessage($exception);
|
|
}
|
|
|
|
$this->exitWithResponse(
|
|
array_merge(
|
|
[
|
|
'remaining_objects' => 0,
|
|
'total_objects' => 1,
|
|
'job_id' => $jobId,
|
|
'object_type' => $this->type,
|
|
'syncType' => 'full',
|
|
],
|
|
$response
|
|
)
|
|
);
|
|
}
|
|
}
|