chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?php
namespace Mautic\PageBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Mautic\ApiBundle\Serializer\Driver\ApiMetadataDriver;
use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder;
class Trackable
{
/**
* @var Redirect
*/
private $redirect;
/**
* @var string
*/
private $channel;
/**
* @var int
*/
private $channelId;
/**
* @var int
*/
private $hits = 0;
/**
* @var int
*/
private $uniqueHits = 0;
public static function loadMetadata(ORM\ClassMetadata $metadata): void
{
$builder = new ClassMetadataBuilder($metadata);
$builder->setTable('channel_url_trackables')
->setCustomRepositoryClass(TrackableRepository::class)
->addIndex(['channel', 'channel_id'], 'channel_url_trackable_search');
$builder->createManyToOne('redirect', Redirect::class)
->addJoinColumn('redirect_id', 'id', true, false, 'CASCADE')
->cascadePersist()
->inversedBy('trackables')
->isPrimaryKey()
->build();
$builder->createField('channelId', 'integer')
->columnName('channel_id')
->makePrimaryKey()
->build();
$builder->addField('channel', 'string');
$builder->addField('hits', 'integer');
$builder->addNamedField('uniqueHits', 'integer', 'unique_hits');
}
/**
* Prepares the metadata for API usage.
*/
public static function loadApiMetadata(ApiMetadataDriver $metadata): void
{
$metadata->setGroupPrefix('trackable')
->addListProperties(
[
'redirect',
'channelId',
'channel',
'hits',
'uniqueHits',
]
)
->build();
}
/**
* @return Redirect
*/
public function getRedirect()
{
return $this->redirect;
}
/**
* @return Trackable
*/
public function setRedirect(Redirect $redirect)
{
$this->redirect = $redirect;
return $this;
}
/**
* @return string
*/
public function getChannel()
{
return $this->channel;
}
/**
* @param string $channel
*
* @return Trackable
*/
public function setChannel($channel)
{
$this->channel = $channel;
return $this;
}
/**
* @return int
*/
public function getChannelId()
{
return $this->channelId;
}
/**
* @param int $channelId
*
* @return Trackable
*/
public function setChannelId($channelId)
{
$this->channelId = $channelId;
return $this;
}
/**
* @return int
*/
public function getHits()
{
return $this->hits;
}
/**
* @param int $hits
*
* @return Trackable
*/
public function setHits($hits)
{
$this->hits = $hits;
return $this;
}
/**
* @return int
*/
public function getUniqueHits()
{
return $this->uniqueHits;
}
/**
* @param int $uniqueHits
*
* @return Trackable
*/
public function setUniqueHits($uniqueHits)
{
$this->uniqueHits = $uniqueHits;
return $this;
}
}