![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/IntegrationsBundle/Sync/DAO/Mapping/ |
<?php declare(strict_types=1); namespace Mautic\IntegrationsBundle\Sync\DAO\Mapping; class ObjectMappingDAO { public const SYNC_TO_MAUTIC = 'mautic'; public const SYNC_TO_INTEGRATION = 'integration'; public const SYNC_BIDIRECTIONALLY = 'bidirectional'; private array $internalIdMapping = []; private array $integrationIdMapping = []; /** * @var FieldMappingDAO[] */ private array $fieldMappings = []; public function __construct( private string $internalObjectName, private string $integrationObjectName ) { } /** * @param string $internalField * @param string $integrationField * @param string $direction * @param bool $isRequired */ public function addFieldMapping($internalField, $integrationField, $direction = self::SYNC_BIDIRECTIONALLY, $isRequired = false): self { $this->fieldMappings[] = new FieldMappingDAO( $this->internalObjectName, $internalField, $this->integrationObjectName, $integrationField, $direction, $isRequired ); return $this; } /** * @return FieldMappingDAO[] */ public function getFieldMappings(): array { return $this->fieldMappings; } public function getMappedIntegrationObjectId(int $internalObjectId): ?int { if (array_key_exists($internalObjectId, $this->internalIdMapping)) { return $this->internalIdMapping[$internalObjectId]; } return null; } /** * @param mixed $integrationObjectId * * @return mixed|null */ public function getMappedInternalObjectId($integrationObjectId) { if (array_key_exists($integrationObjectId, $this->integrationIdMapping)) { return $this->integrationIdMapping[$integrationObjectId]; } return null; } public function getInternalObjectName(): string { return $this->internalObjectName; } public function getIntegrationObjectName(): string { return $this->integrationObjectName; } }