<?php
declare(strict_types=1);
namespace App\Infrastructure\Doctrine\Entity;
use App\Domain\Common\Entity\Block;
use App\Infrastructure\Doctrine\Entity\Traits\EnabledTrait;
use App\Infrastructure\Doctrine\Entity\Traits\IdableTrait;
use App\Infrastructure\Doctrine\Entity\Traits\SluggableTrait;
use App\Infrastructure\Doctrine\Entity\Traits\TimestampableTrait;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
/**
* @ORM\Entity(repositoryClass="App\Infrastructure\Doctrine\Repository\DoctrineBlockRepository")
*
* @Vich\Uploadable
*/
class DoctrineBlock implements Block
{
use EnabledTrait;
use IdableTrait;
use SluggableTrait;
use TimestampableTrait;
/**
* @ORM\Column(type="string", length=191, nullable=true)
*/
private ?string $subTitle = null;
/**
* @ORM\Column(type="text", nullable=true)
*/
private ?string $description = null;
/**
* @ORM\Column(type="string", length=191)
*/
private string $linkLabel = '';
/**
* @ORM\Column(type="string", length=191)
*/
private string $linkUrl = '';
/**
* @ORM\Column(type="string", length=191)
*/
private string $type = '';
/**
* @Vich\UploadableField(mapping="universes", fileNameProperty="desktopPicture")
*/
private ?File $desktopPictureFile = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $desktopPicture = null;
/**
* @Vich\UploadableField(mapping="universes", fileNameProperty="mobilePicture")
*/
private ?File $mobilePictureFile = null;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $mobilePicture = null;
public function getSubTitle(): ?string
{
return $this->subTitle;
}
public function setSubTitle(?string $subTitle): void
{
$this->subTitle = $subTitle;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(?string $description): void
{
$this->description = $description;
}
public function getLinkLabel(): string
{
return $this->linkLabel;
}
public function setLinkLabel(string $linkLabel): void
{
$this->linkLabel = $linkLabel;
}
public function getLinkUrl(): string
{
return $this->linkUrl;
}
public function setLinkUrl(string $linkUrl): void
{
$this->linkUrl = $linkUrl;
}
public function getType(): string
{
return $this->type;
}
public function setType(string $type): void
{
$this->type = $type;
}
public function getDesktopPictureFile(): ?File
{
return $this->desktopPictureFile;
}
public function setDesktopPictureFile(?File $desktopPictureFile): void
{
$this->desktopPictureFile = $desktopPictureFile;
if (null !== $desktopPictureFile) {
$this->setUpdatedAt(new \DateTimeImmutable());
}
}
public function getDesktopPicture(): ?string
{
return $this->desktopPicture;
}
public function setDesktopPicture(?string $desktopPicture): void
{
$this->desktopPicture = $desktopPicture;
}
public function getMobilePictureFile(): ?File
{
return $this->mobilePictureFile;
}
public function setMobilePictureFile(?File $mobilePictureFile): void
{
$this->mobilePictureFile = $mobilePictureFile;
if (null !== $mobilePictureFile) {
$this->setUpdatedAt(new \DateTimeImmutable());
}
}
public function getMobilePicture(): ?string
{
return $this->mobilePicture;
}
public function setMobilePicture(?string $mobilePicture): void
{
$this->mobilePicture = $mobilePicture;
}
}