Spaces:
No application file
No application file
namespace Mautic\LeadBundle\Entity; | |
use Doctrine\ORM\Mapping as ORM; | |
use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder; | |
use Mautic\CoreBundle\Entity\IpAddress; | |
use Mautic\PointBundle\Entity\Group; | |
class PointsChangeLog | |
{ | |
public const TABLE_NAME = 'lead_points_change_log'; | |
/** | |
* @var string | |
*/ | |
private $id; | |
/** | |
* @var Lead | |
*/ | |
private $lead; | |
/** | |
* @var IpAddress|null | |
*/ | |
private $ipAddress; | |
/** | |
* @var string | |
*/ | |
private $type; | |
/** | |
* @var string | |
*/ | |
private $eventName; | |
/** | |
* @var string | |
*/ | |
private $actionName; | |
/** | |
* @var int | |
*/ | |
private $delta; | |
/** | |
* @var \DateTimeInterface | |
*/ | |
private $dateAdded; | |
private ?Group $group = null; | |
public static function loadMetadata(ORM\ClassMetadata $metadata): void | |
{ | |
$builder = new ClassMetadataBuilder($metadata); | |
$builder->setTable(self::TABLE_NAME) | |
->setCustomRepositoryClass(PointsChangeLogRepository::class) | |
->addIndex(['date_added'], 'point_date_added'); | |
$builder->addBigIntIdField(); | |
$builder->addLead(false, 'CASCADE', false, 'pointsChangeLog'); | |
$builder->addIpAddress(true); | |
$builder->createField('type', 'text') | |
->length(50) | |
->build(); | |
$builder->createField('eventName', 'string') | |
->columnName('event_name') | |
->build(); | |
$builder->createField('actionName', 'string') | |
->columnName('action_name') | |
->build(); | |
$builder->addField('delta', 'integer'); | |
$builder->createManyToOne('group', Group::class) | |
->addJoinColumn('group_id', 'id', true, false, 'CASCADE') | |
->build(); | |
$builder->addDateAdded(); | |
} | |
/** | |
* Get id. | |
*/ | |
public function getId(): int | |
{ | |
return (int) $this->id; | |
} | |
/** | |
* Set type. | |
* | |
* @param string $type | |
* | |
* @return PointsChangeLog | |
*/ | |
public function setType($type) | |
{ | |
$this->type = $type; | |
return $this; | |
} | |
/** | |
* Get type. | |
* | |
* @return string | |
*/ | |
public function getType() | |
{ | |
return $this->type; | |
} | |
/** | |
* Set eventName. | |
* | |
* @param string $eventName | |
* | |
* @return PointsChangeLog | |
*/ | |
public function setEventName($eventName) | |
{ | |
$this->eventName = $eventName; | |
return $this; | |
} | |
/** | |
* Get eventName. | |
* | |
* @return string | |
*/ | |
public function getEventName() | |
{ | |
return $this->eventName; | |
} | |
/** | |
* Set actionName. | |
* | |
* @param string $actionName | |
* | |
* @return PointsChangeLog | |
*/ | |
public function setActionName($actionName) | |
{ | |
$this->actionName = $actionName; | |
return $this; | |
} | |
/** | |
* Get actionName. | |
* | |
* @return string | |
*/ | |
public function getActionName() | |
{ | |
return $this->actionName; | |
} | |
/** | |
* Set delta. | |
* | |
* @param int $delta | |
* | |
* @return PointsChangeLog | |
*/ | |
public function setDelta($delta) | |
{ | |
$this->delta = $delta; | |
return $this; | |
} | |
/** | |
* Get delta. | |
* | |
* @return int | |
*/ | |
public function getDelta() | |
{ | |
return $this->delta; | |
} | |
/** | |
* Set dateAdded. | |
* | |
* @param \DateTime $dateAdded | |
* | |
* @return PointsChangeLog | |
*/ | |
public function setDateAdded($dateAdded) | |
{ | |
$this->dateAdded = $dateAdded; | |
return $this; | |
} | |
/** | |
* Get dateAdded. | |
* | |
* @return \DateTimeInterface | |
*/ | |
public function getDateAdded() | |
{ | |
return $this->dateAdded; | |
} | |
/** | |
* Set lead. | |
* | |
* @return PointsChangeLog | |
*/ | |
public function setLead(Lead $lead) | |
{ | |
$this->lead = $lead; | |
return $this; | |
} | |
/** | |
* Get lead. | |
* | |
* @return Lead | |
*/ | |
public function getLead() | |
{ | |
return $this->lead; | |
} | |
/** | |
* @return PointsChangeLog | |
*/ | |
public function setIpAddress(IpAddress $ipAddress) | |
{ | |
$this->ipAddress = $ipAddress; | |
return $this; | |
} | |
/** | |
* @return IpAddress | |
*/ | |
public function getIpAddress() | |
{ | |
return $this->ipAddress; | |
} | |
public function getGroup(): ?Group | |
{ | |
return $this->group; | |
} | |
public function setGroup(Group $group): void | |
{ | |
$this->group = $group; | |
} | |
} | |