Spaces:
No application file
No application file
| namespace Mautic\CampaignBundle\Entity; | |
| use Doctrine\ORM\Mapping as ORM; | |
| use Mautic\ApiBundle\Serializer\Driver\ApiMetadataDriver; | |
| use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder; | |
| class FailedLeadEventLog | |
| { | |
| /** | |
| * @var LeadEventLog | |
| */ | |
| private $log; | |
| /** | |
| * @var \DateTimeInterface | |
| */ | |
| private $dateAdded; | |
| /** | |
| * @var string|null | |
| */ | |
| private $reason; | |
| public static function loadMetadata(ORM\ClassMetadata $metadata): void | |
| { | |
| $builder = new ClassMetadataBuilder($metadata); | |
| $builder->setTable('campaign_lead_event_failed_log') | |
| ->setCustomRepositoryClass(FailedLeadEventLogRepository::class) | |
| ->addIndex(['date_added'], 'campaign_event_failed_date'); | |
| $builder->createOneToOne('log', 'LeadEventLog') | |
| ->makePrimaryKey() | |
| ->inversedBy('failedLog') | |
| ->addJoinColumn('log_id', 'id', false, false, 'CASCADE') | |
| ->build(); | |
| $builder->addDateAdded(); | |
| $builder->addNullableField('reason', 'text'); | |
| } | |
| /** | |
| * Prepares the metadata for API usage. | |
| */ | |
| public static function loadApiMetadata(ApiMetadataDriver $metadata): void | |
| { | |
| $metadata->setGroupPrefix('campaignEventFailedLog') | |
| ->addProperties( | |
| [ | |
| 'dateAdded', | |
| 'reason', | |
| ] | |
| ) | |
| ->build(); | |
| } | |
| /** | |
| * @return LeadEventLog | |
| */ | |
| public function getLog() | |
| { | |
| return $this->log; | |
| } | |
| /** | |
| * @return FailedLeadEventLog | |
| */ | |
| public function setLog(LeadEventLog $log = null) | |
| { | |
| $this->log = $log; | |
| if ($log) { | |
| $log->setFailedLog($this); | |
| } | |
| return $this; | |
| } | |
| /** | |
| * @return \DateTimeInterface | |
| */ | |
| public function getDateAdded() | |
| { | |
| return $this->dateAdded; | |
| } | |
| /** | |
| * @return FailedLeadEventLog | |
| */ | |
| public function setDateAdded(\DateTime $dateAdded = null) | |
| { | |
| if (null === $dateAdded) { | |
| $dateAdded = new \DateTime(); | |
| } | |
| $this->dateAdded = $dateAdded; | |
| return $this; | |
| } | |
| /** | |
| * @return string | |
| */ | |
| public function getReason() | |
| { | |
| return $this->reason; | |
| } | |
| /** | |
| * @param string $reason | |
| * | |
| * @return FailedLeadEventLog | |
| */ | |
| public function setReason($reason) | |
| { | |
| $this->reason = $reason; | |
| return $this; | |
| } | |
| } | |