6 declare(strict_types=1);
37 private $dataObjectHelper;
42 private $sourceRepository;
47 private $sourceCoordinatesDataProcessor;
61 parent::__construct($context);
64 $this->sourceCoordinatesDataProcessor = $sourceCoordinatesDataProcessor;
80 $itemData = $this->sourceCoordinatesDataProcessor->execute($itemData);
82 $this->dataObjectHelper->populateWithArray(
$source, $itemData, SourceInterface::class);
83 $this->sourceRepository->save(
$source);
84 }
catch (NoSuchEntityException $e) {
85 $errorMessages[] =
__(
86 '[ID: %value] The Source does not exist.',
89 }
catch (ValidationException $e) {
90 foreach ($e->getErrors() as $localizedError) {
91 $errorMessages[] =
__(
'[ID: %value] %message', [
93 'message' => $localizedError->getMessage()
96 }
catch (CouldNotSaveException $e) {
97 $errorMessages[] =
__(
98 '[ID: %value] %message',
101 'message' => $e->getMessage()
107 $errorMessages[] =
__(
'Please correct the sent data.');
112 $resultJson->setData([
113 'messages' => $errorMessages,
114 'error' => count($errorMessages),
__construct(Context $context, DataObjectHelper $dataObjectHelper, SourceRepositoryInterface $sourceRepository, SourceCoordinatesDataProcessor $sourceCoordinatesDataProcessor)