<?php
namespace App\Entity;
use App\Repository\AudioTextBlockRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as Serializer;
use Symfony\Component\Serializer\Annotation\Ignore;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
use Symfony\Component\HttpFoundation\File\File;
#[ORM\Entity(repositoryClass: AudioTextBlockRepository::class)]
#[Vich\Uploadable]
class AudioTextBlock
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 8192)]
#[Serializer\Groups(["poi","category","tour"])]
private ?string $text = null;
#[ORM\Column(length: 1048, nullable: true)]
#[Serializer\Groups(["poi","category","tour"])]
#[Serializer\SerializedName("audioTextUrl")]
private ?string $audio_text_url = "";
#[Vich\UploadableField(mapping: 'audiotextblocks', fileNameProperty: 'audio_text_url')]
#[Serializer\SerializedName("audioTextFile")]
#[Serializer\Groups(["poi","category","tour"])]
private ?File $audioTextFile = null;
public function __construct()
{
}
public function getId(): ?int
{
return $this->id;
}
public function __toString() {
return $this->text?$this->text:"";
}
public function setAudioTextFile(?File $audioTextFile = null): void
{
$this->audioTextFile = $audioTextFile;
if (null !== $audioTextFile) {
// It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost
}
}
public function getAudioTextFile(): ?File
{
return $this->audioTextFile;
}
public function getText(): ?string
{
return $this->text;
}
public function setText(string $text): self
{
$this->text = $text;
return $this;
}
public function getAudioTextUrl(): ?string
{
return $this->audio_text_url;
}
public function setAudioTextUrl(?string $audio_text_url): self
{
$this->audio_text_url = $audio_text_url;
return $this;
}
}