src/Entity/CRM/MailAttachment.php line 15

  1. <?php
  2. namespace App\Entity\CRM;
  3. use App\Repository\MailAttachmentRepository;
  4. use DateTime;
  5. use DateTimeInterface;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Symfony\Component\HttpFoundation\File\File;
  9. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  10. #[Vich\Uploadable]
  11. #[ORM\Entity(repositoryClassMailAttachmentRepository::class)]
  12. class MailAttachment
  13. {
  14.     #[ORM\Id]
  15.     #[ORM\GeneratedValue]
  16.     #[ORM\Column]
  17.     private ?int $id null;
  18.     #[ORM\Column(length255)]
  19.     private ?string $fileName null;
  20.     #[ORM\Column(typeTypes::DATETIME_MUTABLE)]
  21.     private ?DateTimeInterface $fileUploadedAt;
  22.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  23.     private ?DateTimeInterface $fileUpdatedAt null;
  24.     #[ORM\ManyToOne(inversedBy'mailAttachments')]
  25.     #[ORM\JoinColumn(nullabletrue)]
  26.     private ?MailTemplate $mailTemplate null;
  27.     #[ORM\ManyToOne(inversedBy'mailAttachments')]
  28.     #[ORM\JoinColumn(nullabletrue)]
  29.     private ?MailMessage $mailMessage null;
  30.     #[Vich\UploadableField(mapping'attachment'fileNameProperty'fileName'size'fileSize')]
  31.     private ?File $file null;
  32.     private $fileSize null;
  33.     public function __construct()
  34.     {
  35.         $this->fileUploadedAt = new DateTime();
  36.     }
  37.     public function __toString(): string
  38.     {
  39.         return (string) $this->fileName;
  40.     }
  41.     public function getId(): ?int
  42.     {
  43.         return $this->id;
  44.     }
  45.     public function getFileName(): ?string
  46.     {
  47.         return $this->fileName;
  48.     }
  49.     public function setFileName(?string $fileName): void
  50.     {
  51.         $this->fileName $fileName;
  52.     }
  53.     public function getFileSize()
  54.     {
  55.         return $this->fileSize;
  56.     }
  57.     public function setFileSize($fileSize): void
  58.     {
  59.         $this->fileSize $fileSize;
  60.     }
  61.     public function getFileUploadedAt(): ?DateTimeInterface
  62.     {
  63.         return $this->fileUploadedAt;
  64.     }
  65.     public function setFileUploadedAt(\DateTimeImmutable $fileUploadedAt): static
  66.     {
  67.         $this->fileUploadedAt $fileUploadedAt;
  68.         return $this;
  69.     }
  70.     public function getFileUpdatedAt(): ?DateTimeInterface
  71.     {
  72.         return $this->fileUpdatedAt;
  73.     }
  74.     public function setFileUpdatedAt(?DateTimeInterface $fileUpdatedAt): void
  75.     {
  76.         $this->fileUpdatedAt $fileUpdatedAt;
  77.     }
  78.     public function getFile(): ?File
  79.     {
  80.         return $this->file;
  81.     }
  82.     public function setFile(?File $file null): void
  83.     {
  84.         $this->file $file;
  85.         if ($file !== null) {
  86.             $this->fileUpdatedAt = new DateTime();
  87.         }
  88.     }
  89.     public function getMailTemplate(): ?MailTemplate
  90.     {
  91.         return $this->mailTemplate;
  92.     }
  93.     public function setMailTemplate(?MailTemplate $mailTemplate): static
  94.     {
  95.         $this->mailTemplate $mailTemplate;
  96.         return $this;
  97.     }
  98.     public function getMailMessage(): ?MailMessage
  99.     {
  100.         return $this->mailMessage;
  101.     }
  102.     public function setMailMessage(?MailMessage $mailMessage): static
  103.     {
  104.         $this->mailMessage $mailMessage;
  105.         return $this;
  106.     }
  107. }