Initial commit: CloudOps infrastructure platform
This commit is contained in:
@@ -0,0 +1,776 @@
|
||||
<?php
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user