Spaces:
No application file
No application file
| namespace Mautic\PageBundle\Entity; | |
| use Doctrine\ORM\Mapping as ORM; | |
| use Mautic\ApiBundle\Serializer\Driver\ApiMetadataDriver; | |
| use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder; | |
| use Mautic\CoreBundle\Entity\IpAddress; | |
| use Mautic\LeadBundle\Entity\Lead; | |
| class VideoHit | |
| { | |
| public const TABLE_NAME = 'video_hits'; | |
| /** | |
| * @var int | |
| */ | |
| private $id; | |
| /** | |
| * @var string | |
| */ | |
| private $guid; | |
| /** | |
| * @var \DateTimeInterface | |
| */ | |
| private $dateHit; | |
| /** | |
| * @var \DateTimeInterface | |
| */ | |
| private $dateLeft; | |
| /** | |
| * @var int|null | |
| */ | |
| private $timeWatched; | |
| /** | |
| * @var int|null | |
| */ | |
| private $duration; | |
| /** | |
| * @var Redirect | |
| */ | |
| private $redirect; | |
| /** | |
| * @var Lead|null | |
| */ | |
| private $lead; | |
| /** | |
| * @var IpAddress|null | |
| */ | |
| private $ipAddress; | |
| /** | |
| * @var string|null | |
| */ | |
| private $country; | |
| /** | |
| * @var string|null | |
| */ | |
| private $region; | |
| /** | |
| * @var string|null | |
| */ | |
| private $city; | |
| /** | |
| * @var string|null | |
| */ | |
| private $isp; | |
| /** | |
| * @var string|null | |
| */ | |
| private $organization; | |
| /** | |
| * @var int | |
| */ | |
| private $code; | |
| private $referer; | |
| private $url; | |
| /** | |
| * @var string|null | |
| */ | |
| private $userAgent; | |
| /** | |
| * @var string|null | |
| */ | |
| private $remoteHost; | |
| /** | |
| * @var string|null | |
| */ | |
| private $pageLanguage; | |
| /** | |
| * @var array<string> | |
| */ | |
| private $browserLanguages = []; | |
| /** | |
| * @var string|null | |
| */ | |
| private $channel; | |
| /** | |
| * @var int|null | |
| */ | |
| private $channelId; | |
| /** | |
| * @var array | |
| */ | |
| private $query = []; | |
| public static function loadMetadata(ORM\ClassMetadata $metadata): void | |
| { | |
| $builder = new ClassMetadataBuilder($metadata); | |
| $builder->setTable(self::TABLE_NAME) | |
| ->setCustomRepositoryClass(VideoHitRepository::class) | |
| ->addIndex(['date_hit'], 'video_date_hit') | |
| ->addIndex(['channel', 'channel_id'], 'video_channel_search') | |
| ->addIndex(['guid', 'lead_id'], 'video_guid_lead_search'); | |
| $builder->addId(); | |
| $builder->createField('dateHit', 'datetime') | |
| ->columnName('date_hit') | |
| ->build(); | |
| $builder->createField('dateLeft', 'datetime') | |
| ->columnName('date_left') | |
| ->nullable() | |
| ->build(); | |
| $builder->addLead(true, 'SET NULL'); | |
| $builder->addIpAddress(true); | |
| $builder->createField('country', 'string') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('region', 'string') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('city', 'string') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('isp', 'string') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('organization', 'string') | |
| ->nullable() | |
| ->build(); | |
| $builder->addField('code', 'integer'); | |
| $builder->createField('referer', 'text') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('url', 'text') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('userAgent', 'text') | |
| ->columnName('user_agent') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('remoteHost', 'string') | |
| ->columnName('remote_host') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('guid', 'string') | |
| ->columnName('guid') | |
| ->build(); | |
| $builder->createField('pageLanguage', 'string') | |
| ->columnName('page_language') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('browserLanguages', 'array') | |
| ->columnName('browser_languages') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('channel', 'string') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('channelId', 'integer') | |
| ->columnName('channel_id') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('timeWatched', 'integer') | |
| ->columnName('time_watched') | |
| ->nullable() | |
| ->build(); | |
| $builder->createField('duration', 'integer') | |
| ->columnName('duration') | |
| ->nullable() | |
| ->build(); | |
| $builder->addNullableField('query', 'array'); | |
| } | |
| /** | |
| * Prepares the metadata for API usage. | |
| */ | |
| public static function loadApiMetadata(ApiMetadataDriver $metadata): void | |
| { | |
| $metadata->setGroupPrefix('hit') | |
| ->addProperties( | |
| [ | |
| 'dateHit', | |
| 'dateLeft', | |
| 'lead', | |
| 'ipAddress', | |
| 'country', | |
| 'region', | |
| 'city', | |
| 'isp', | |
| 'code', | |
| 'referer', | |
| 'url', | |
| 'urlTitle', | |
| 'userAgent', | |
| 'remoteHost', | |
| 'pageLanguage', | |
| 'browserLanguages', | |
| 'source', | |
| 'sourceId', | |
| 'query', | |
| 'timeWatched', | |
| 'guid', | |
| ] | |
| ) | |
| ->build(); | |
| } | |
| /** | |
| * Get id. | |
| * | |
| * @return int | |
| */ | |
| public function getId() | |
| { | |
| return $this->id; | |
| } | |
| /** | |
| * Set dateHit. | |
| * | |
| * @param \DateTime $dateHit | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setDateHit($dateHit) | |
| { | |
| $this->dateHit = $dateHit; | |
| return $this; | |
| } | |
| /** | |
| * Get dateHit. | |
| * | |
| * @return \DateTimeInterface | |
| */ | |
| public function getDateHit() | |
| { | |
| return $this->dateHit; | |
| } | |
| /** | |
| * @return \DateTimeInterface | |
| */ | |
| public function getDateLeft() | |
| { | |
| return $this->dateLeft; | |
| } | |
| /** | |
| * @param \DateTime $dateLeft | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setDateLeft($dateLeft) | |
| { | |
| $this->dateLeft = $dateLeft; | |
| return $this; | |
| } | |
| /** | |
| * Set country. | |
| * | |
| * @param string $country | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setCountry($country) | |
| { | |
| $this->country = $country; | |
| return $this; | |
| } | |
| /** | |
| * Get country. | |
| * | |
| * @return string | |
| */ | |
| public function getCountry() | |
| { | |
| return $this->country; | |
| } | |
| /** | |
| * Set region. | |
| * | |
| * @param string $region | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setRegion($region) | |
| { | |
| $this->region = $region; | |
| return $this; | |
| } | |
| /** | |
| * Get region. | |
| * | |
| * @return string | |
| */ | |
| public function getRegion() | |
| { | |
| return $this->region; | |
| } | |
| /** | |
| * Set city. | |
| * | |
| * @param string $city | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setCity($city) | |
| { | |
| $this->city = $city; | |
| return $this; | |
| } | |
| /** | |
| * Get city. | |
| * | |
| * @return string | |
| */ | |
| public function getCity() | |
| { | |
| return $this->city; | |
| } | |
| /** | |
| * Set isp. | |
| * | |
| * @param string $isp | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setIsp($isp) | |
| { | |
| $this->isp = $isp; | |
| return $this; | |
| } | |
| /** | |
| * Get isp. | |
| * | |
| * @return string | |
| */ | |
| public function getIsp() | |
| { | |
| return $this->isp; | |
| } | |
| /** | |
| * Set organization. | |
| * | |
| * @param string $organization | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setOrganization($organization) | |
| { | |
| $this->organization = $organization; | |
| return $this; | |
| } | |
| /** | |
| * Get organization. | |
| * | |
| * @return string | |
| */ | |
| public function getOrganization() | |
| { | |
| return $this->organization; | |
| } | |
| /** | |
| * Set code. | |
| * | |
| * @param int $code | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setCode($code) | |
| { | |
| $this->code = $code; | |
| return $this; | |
| } | |
| /** | |
| * Get code. | |
| * | |
| * @return int | |
| */ | |
| public function getCode() | |
| { | |
| return $this->code; | |
| } | |
| /** | |
| * Set referer. | |
| * | |
| * @param string $referer | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setReferer($referer) | |
| { | |
| $this->referer = $referer; | |
| return $this; | |
| } | |
| /** | |
| * Get referer. | |
| * | |
| * @return string | |
| */ | |
| public function getReferer() | |
| { | |
| return $this->referer; | |
| } | |
| /** | |
| * Set url. | |
| * | |
| * @param string $url | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setUrl($url) | |
| { | |
| $this->url = $url; | |
| return $this; | |
| } | |
| /** | |
| * Get url. | |
| * | |
| * @return string | |
| */ | |
| public function getUrl() | |
| { | |
| return $this->url; | |
| } | |
| /** | |
| * Set userAgent. | |
| * | |
| * @param string $userAgent | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setUserAgent($userAgent) | |
| { | |
| $this->userAgent = $userAgent; | |
| return $this; | |
| } | |
| /** | |
| * Get userAgent. | |
| * | |
| * @return string | |
| */ | |
| public function getUserAgent() | |
| { | |
| return $this->userAgent; | |
| } | |
| /** | |
| * Set remoteHost. | |
| * | |
| * @param string $remoteHost | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setRemoteHost($remoteHost) | |
| { | |
| $this->remoteHost = $remoteHost; | |
| return $this; | |
| } | |
| /** | |
| * Get remoteHost. | |
| * | |
| * @return string | |
| */ | |
| public function getRemoteHost() | |
| { | |
| return $this->remoteHost; | |
| } | |
| /** | |
| * @return VideoHit | |
| */ | |
| public function setIpAddress(IpAddress $ipAddress) | |
| { | |
| $this->ipAddress = $ipAddress; | |
| return $this; | |
| } | |
| /** | |
| * @return IpAddress | |
| */ | |
| public function getIpAddress() | |
| { | |
| return $this->ipAddress; | |
| } | |
| /** | |
| * Set pageLanguage. | |
| * | |
| * @param string $pageLanguage | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setPageLanguage($pageLanguage) | |
| { | |
| $this->pageLanguage = $pageLanguage; | |
| return $this; | |
| } | |
| /** | |
| * Get pageLanguage. | |
| * | |
| * @return string | |
| */ | |
| public function getPageLanguage() | |
| { | |
| return $this->pageLanguage; | |
| } | |
| /** | |
| * Set browserLanguages. | |
| * | |
| * @param array<string> $browserLanguages | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setBrowserLanguages($browserLanguages) | |
| { | |
| $this->browserLanguages = $browserLanguages; | |
| return $this; | |
| } | |
| /** | |
| * Get browserLanguages. | |
| * | |
| * @return array<string> | |
| */ | |
| public function getBrowserLanguages() | |
| { | |
| return $this->browserLanguages; | |
| } | |
| /** | |
| * @return Lead | |
| */ | |
| public function getLead() | |
| { | |
| return $this->lead; | |
| } | |
| /** | |
| * @return VideoHit | |
| */ | |
| public function setLead(Lead $lead) | |
| { | |
| $this->lead = $lead; | |
| return $this; | |
| } | |
| /** | |
| * @return string | |
| */ | |
| public function getChannel() | |
| { | |
| return $this->channel; | |
| } | |
| /** | |
| * @param string $channel | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setChannel($channel) | |
| { | |
| $this->channel = $channel; | |
| return $this; | |
| } | |
| /** | |
| * @return int | |
| */ | |
| public function getChannelId() | |
| { | |
| return $this->channelId; | |
| } | |
| /** | |
| * @param int $channelId | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setChannelId($channelId) | |
| { | |
| $this->channelId = (int) $channelId; | |
| return $this; | |
| } | |
| /** | |
| * @return Redirect | |
| */ | |
| public function getRedirect() | |
| { | |
| return $this->redirect; | |
| } | |
| /** | |
| * @return VideoHit | |
| */ | |
| public function setRedirect(Redirect $redirect) | |
| { | |
| $this->redirect = $redirect; | |
| return $this; | |
| } | |
| /** | |
| * @return array | |
| */ | |
| public function getQuery() | |
| { | |
| return $this->query; | |
| } | |
| /** | |
| * @param array $query | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setQuery($query) | |
| { | |
| $this->query = $query; | |
| return $this; | |
| } | |
| /** | |
| * @return int | |
| */ | |
| public function getTimeWatched() | |
| { | |
| return $this->timeWatched; | |
| } | |
| /** | |
| * @return VideoHit | |
| */ | |
| public function setTimeWatched($timeWatched) | |
| { | |
| $this->timeWatched = $timeWatched; | |
| return $this; | |
| } | |
| /** | |
| * @return string | |
| */ | |
| public function getGuid() | |
| { | |
| return $this->guid; | |
| } | |
| /** | |
| * @param string $guid | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setGuid($guid) | |
| { | |
| $this->guid = $guid; | |
| return $this; | |
| } | |
| /** | |
| * @return int | |
| */ | |
| public function getDuration() | |
| { | |
| return $this->duration; | |
| } | |
| /** | |
| * @param int $duration | |
| * | |
| * @return VideoHit | |
| */ | |
| public function setDuration($duration) | |
| { | |
| $this->duration = $duration; | |
| return $this; | |
| } | |
| } | |