src/Entity/CRM/MailAttachment.php line 16
<?phpnamespace App\Entity\CRM;use App\Entity\CRM\MailTemplate;use App\Repository\MailAttachmentRepository;use DateTime;use DateTimeInterface;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\HttpFoundation\File\File;use Vich\UploaderBundle\Mapping\Annotation as Vich;#[Vich\Uploadable]#[ORM\Entity(repositoryClass: MailAttachmentRepository::class)]class MailAttachment{#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]private ?int $id = null;#[ORM\Column(length: 255)]private ?string $fileName = null;#[ORM\Column(type: Types::DATETIME_MUTABLE)]private ?DateTimeInterface $fileUploadedAt;#[ORM\Column(type: Types::DATETIME_MUTABLE,nullable: true)]private ?DateTimeInterface $fileUpdatedAt = null;#[ORM\ManyToOne(inversedBy: 'mailAttachments')]#[ORM\JoinColumn(nullable: false)]private ?MailTemplate $mailTemplate = null;// NOTE: This is not a mapped field of entity metadata, just a simple property.#[Vich\UploadableField(mapping: 'attachment', fileNameProperty: 'fileName', size: 'fileSize')]private ?File $file = null;private $fileSize = null;public function __construct(){$this->fileUploadedAt = new DateTime();}public function __toString(): string{return $this->fileName;}public function getId(): ?int{return $this->id;}/*** @return string|null*/public function getFileName(): ?string{return $this->fileName;}/*** @param string|null $fileName*/public function setFileName(?string $fileName): void{$this->fileName = $fileName;}/*** @return null*/public function getFileSize(){return $this->fileSize;}/*** @param null $fileSize*/public function setFileSize($fileSize): void{$this->fileSize = $fileSize;}public function getFileUploadedAt(): ?DateTimeInterface{return $this->fileUploadedAt;}public function setFileUploadedAt(\DateTimeImmutable $fileUploadedAt): static{$this->fileUploadedAt = $fileUploadedAt;return $this;}/*** @return DateTimeInterface|null*/public function getFileUpdatedAt(): ?DateTimeInterface{return $this->fileUpdatedAt;}/*** @param DateTimeInterface|null $fileUpdatedAt*/public function setFileUpdatedAt(?DateTimeInterface $fileUpdatedAt): void{$this->fileUpdatedAt = $fileUpdatedAt;}/*** @return File|null*/public function getFile(): ?File{return $this->file;}public function setFile(?File $file = null): void{$this->file = $file;$this->name = $file->getBasename();if ($file !== null) {// 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$this->fileUpdatedAt = new DateTime();}}public function getMailTemplate(): ?MailTemplate{return $this->mailTemplate;}public function setMailTemplate(?MailTemplate $mailTemplate): static{$this->mailTemplate = $mailTemplate;return $this;}}