<?php
namespace App\V4\Action\Export;
use App\V4\Entity\PreconfiguredExport;
use App\V4\Service\SyncPreConfiguredExportRunner\SyncPreConfiguredExportRunner;
use Exception;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/api/v4/sync-preconfigured-export/{id}/export", name="sync_preconfigured_export_request", methods={"POST"})
*/
class SyncPreConfiguredExportRequestAction extends AbstractController
{
/**
* @var SyncPreConfiguredExportRunner
*/
private $exportRunner;
public function __construct(SyncPreConfiguredExportRunner $exportRunner)
{
$this->exportRunner = $exportRunner;
}
/**
* @throws Exception
* @throws \Doctrine\DBAL\Driver\Exception
*/
public function __invoke(
Request $request,
PreconfiguredExport $data
): JsonResponse {
if ($data->isAsync()) {
return new JsonResponse(['message' => 'preconfigured_export_need_to_be_sync'], Response::HTTP_UNPROCESSABLE_ENTITY);
}
//echo 'aaaa';
//exit;
return $this->exportRunner->runExport($data, $request->get('params') ?? []);
}
}