src/Entity/CRM/AudioAsset.php line 15
<?phpnamespace App\Entity\CRM;use App\Repository\CRM\AudioAssetRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\HttpFoundation\File\File;use Vich\UploaderBundle\Mapping\Annotation as Vich;#[ORM\Entity(repositoryClass: AudioAssetRepository::class)]#[Vich\Uploadable]class AudioAsset{#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[Vich\UploadableField(mapping: 'audio_assets', fileNameProperty: 'fileName', size: 'fileSize', mimeType: 'mimeType', originalName: 'originalName')]private ?File $file = null;#[ORM\Column(length: 255, nullable: true)]private ?string $fileName = null;#[ORM\Column(nullable: true)]private ?int $fileSize = null;#[ORM\Column(length: 255, nullable: true)]private ?string $mimeType = null;#[ORM\Column(length: 255, nullable: true)]private ?string $originalName = null;#[ORM\Column(nullable: true)]private ?float $duration = null;#[ORM\ManyToOne(targetEntity: Admin::class, inversedBy: 'audioAssets')]private ?Admin $createdBy = null;#[ORM\Column(type: Types::DATETIME_MUTABLE)]private \DateTimeInterface $createdAt;#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $updatedAt = null;#[ORM\OneToMany(mappedBy: 'audioAsset', targetEntity: AudioEditJob::class, cascade: ['remove'])]private Collection $jobs;public function __construct(){$this->createdAt = new \DateTime();$this->jobs = new ArrayCollection();}public function getId(): ?int{return $this->id;}public function setFile(?File $file = null): void{$this->file = $file;if (null !== $file) {$this->updatedAt = new \DateTime();}}public function getFile(): ?File{return $this->file;}public function getFileName(): ?string{return $this->fileName;}public function setFileName(?string $fileName): self{$this->fileName = $fileName;return $this;}public function getFileSize(): ?int{return $this->fileSize;}public function setFileSize(?int $fileSize): self{$this->fileSize = $fileSize;return $this;}public function getMimeType(): ?string{return $this->mimeType;}public function setMimeType(?string $mimeType): self{$this->mimeType = $mimeType;return $this;}public function getOriginalName(): ?string{return $this->originalName;}public function setOriginalName(?string $originalName): self{$this->originalName = $originalName;return $this;}public function getDuration(): ?float{return $this->duration;}public function setDuration(?float $duration): self{$this->duration = $duration;return $this;}public function getCreatedBy(): ?Admin{return $this->createdBy;}public function setCreatedBy(?Admin $createdBy): self{$this->createdBy = $createdBy;return $this;}public function getCreatedAt(): \DateTimeInterface{return $this->createdAt;}public function getUpdatedAt(): ?\DateTimeInterface{return $this->updatedAt;}/*** @return Collection<int, AudioEditJob>*/public function getJobs(): Collection{return $this->jobs;}public function addJob(AudioEditJob $job): self{if (!$this->jobs->contains($job)) {$this->jobs->add($job);$job->setAudioAsset($this);}return $this;}public function removeJob(AudioEditJob $job): self{if ($this->jobs->removeElement($job)) {if ($job->getAudioAsset() === $this) {$job->setAudioAsset(null);}}return $this;}public function __toString(): string{return (string) ($this->originalName ?? $this->fileName ?? 'audio');}}