![]() 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/Entity/ |
<?php declare(strict_types=1); namespace Mautic\IntegrationsBundle\Entity; use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping as ORM; use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder; class ObjectMapping { /** * @var int */ private $id; private ?\DateTimeInterface $dateCreated; /** * @var string */ private $integration; /** * @var string */ private $internalObjectName; /** * @var string */ private $internalObjectId; /** * @var string */ private $integrationObjectName; /** * @var string */ private $integrationObjectId; private ?\DateTimeInterface $lastSyncDate; /** * @var array */ private $internalStorage = []; /** * @var bool */ private $isDeleted = false; /** * @var string|null */ private $integrationReferenceId; public static function loadMetadata(ORM\ClassMetadata $metadata): void { $builder = new ClassMetadataBuilder($metadata); $builder ->setTable('sync_object_mapping') ->setCustomRepositoryClass(ObjectMappingRepository::class) ->addIndex(['integration', 'integration_object_name', 'integration_object_id', 'integration_reference_id'], 'integration_object') ->addIndex(['integration', 'integration_object_name', 'integration_reference_id', 'integration_object_id'], 'integration_reference') ->addIndex(['integration', 'internal_object_name', 'last_sync_date'], 'integration_integration_object_name_last_sync_date') ->addIndex(['integration', 'last_sync_date'], 'integration_last_sync_date'); $builder->addId(); $builder ->createField('dateCreated', Types::DATETIME_MUTABLE) ->columnName('date_created') ->build(); $builder ->createField('integration', Types::STRING) ->build(); $builder ->createField('internalObjectName', Types::STRING) ->columnName('internal_object_name') ->build(); $builder->addBigIntIdField('internalObjectId', 'internal_object_id', false); $builder ->createField('integrationObjectName', Types::STRING) ->columnName('integration_object_name') ->build(); // Must be a string as not all IDs are integer based $builder ->createField('integrationObjectId', Types::STRING) ->columnName('integration_object_id') ->build(); $builder ->createField('lastSyncDate', Types::DATETIME_MUTABLE) ->columnName('last_sync_date') ->build(); $builder ->createField('internalStorage', Types::JSON) ->columnName('internal_storage') ->build(); $builder ->createField('isDeleted', Types::BOOLEAN) ->columnName('is_deleted') ->build(); $builder ->createField('integrationReferenceId', Types::STRING) ->columnName('integration_reference_id') ->nullable() ->build(); } /** * @throws \Exception */ public function __construct(?\DateTime $dateCreated = null) { if (null === $dateCreated) { $dateCreated = new \DateTime(); } $this->dateCreated = $dateCreated; $this->lastSyncDate = $dateCreated; } /** * @return int|null ?int */ public function getId() { return $this->id; } /** * @param int $id * * @return ObjectMapping */ public function setId($id) { $this->id = $id; return $this; } /** * @return \DateTimeInterface|null */ public function getDateCreated() { return $this->dateCreated; } /** * @return string */ public function getIntegration() { return $this->integration; } /** * @param string $integration * * @return ObjectMapping */ public function setIntegration($integration) { $this->integration = $integration; return $this; } /** * @return string */ public function getInternalObjectName() { return $this->internalObjectName; } /** * @param string $internalObjectName * * @return ObjectMapping */ public function setInternalObjectName($internalObjectName) { $this->internalObjectName = $internalObjectName; return $this; } public function getInternalObjectId(): int { return (int) $this->internalObjectId; } /** * @param int $internalObjectId * * @return ObjectMapping */ public function setInternalObjectId($internalObjectId) { $this->internalObjectId = (string) $internalObjectId; return $this; } /** * @return string */ public function getIntegrationObjectName() { return $this->integrationObjectName; } /** * @param string $integrationObjectName * * @return ObjectMapping */ public function setIntegrationObjectName($integrationObjectName) { $this->integrationObjectName = $integrationObjectName; return $this; } /** * @return string */ public function getIntegrationObjectId() { return $this->integrationObjectId; } /** * @param string $integrationObjectId * * @return ObjectMapping */ public function setIntegrationObjectId($integrationObjectId) { $this->integrationObjectId = $integrationObjectId; return $this; } /** * @return \DateTimeInterface */ public function getLastSyncDate() { return $this->lastSyncDate; } /** * @param \DateTimeInterface|null $lastSyncDate * * @return ObjectMapping * * @throws \Exception */ public function setLastSyncDate($lastSyncDate) { if (null === $lastSyncDate) { $lastSyncDate = new \DateTime(); } $this->lastSyncDate = $lastSyncDate; return $this; } /** * @return array */ public function getInternalStorage() { return $this->internalStorage; } /** * @param array $internalStorage * * @return ObjectMapping */ public function setInternalStorage($internalStorage) { $this->internalStorage = $internalStorage; return $this; } /** * @return $this */ public function appendToInternalStorage($key, $value) { $this->internalStorage[$key] = $value; return $this; } /** * @return bool */ public function isDeleted() { return $this->isDeleted; } /** * @param bool $isDeleted * * @return ObjectMapping */ public function setIsDeleted($isDeleted) { $this->isDeleted = $isDeleted; return $this; } /** * @return string|null */ public function getIntegrationReferenceId() { return $this->integrationReferenceId; } /** * @param string|null $integrationReferenceId * * @return ObjectMapping */ public function setIntegrationReferenceId($integrationReferenceId) { $this->integrationReferenceId = $integrationReferenceId; return $this; } }