src/Entity/EmailArchive.php line 13

  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\EmailArchiveRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\DBAL\Types\Types;
  7. use Doctrine\ORM\Mapping as ORM;
  8. #[ORM\Entity(repositoryClassEmailArchiveRepository::class)]
  9. #[ORM\HasLifecycleCallbacks]
  10. class EmailArchive
  11. {
  12.     #[ORM\Id]
  13.     #[ORM\GeneratedValue]
  14.     #[ORM\Column]
  15.     private ?int $emailArchiveId null;
  16.     #[ORM\ManyToOne(inversedBy'emailArchives'fetch:"EAGER")]
  17.     private ?User $user null;
  18.     #[ORM\Column(length255)]
  19.     private ?string $emailAddress null;
  20.     #[ORM\ManyToOne(inversedBy'emailTypeArchives'fetch:"EAGER")]
  21.     #[ORM\JoinColumn(name:"email_type_code"referencedColumnName"email_type_code"nullablefalse)]
  22.     private ?EmailType $emailType null;
  23.     #[ORM\ManyToOne(inversedBy'emailArchives'fetch:"EAGER")]
  24.     #[ORM\JoinColumn(name:"email_content_id"referencedColumnName"email_content_id"nullabletrue)]
  25.     private ?EmailContent $emailContent null;
  26.     #[ORM\Column(typeTypes::DATETIME_MUTABLE)]
  27.     private ?\DateTimeInterface $updated null;
  28.     #[ORM\Column]
  29.     private ?int $updatedBy null;
  30.     #[ORM\OneToMany(mappedBy'emailArchive'targetEntityEmailArchiveDetail::class)]
  31.     private Collection $emailArchiveDetails;
  32.     public function __construct()
  33.     {
  34.         $this->emailArchiveDetails = new ArrayCollection();
  35.     }
  36.     public function getEmailArchiveId(): ?int
  37.     {
  38.         return $this->emailArchiveId;
  39.     }
  40.     public function setEmailArchiveId(int $emailArchiveId): static
  41.     {
  42.         $this->emailArchiveId $emailArchiveId;
  43.         return $this;
  44.     }
  45.     public function getUser(): ?User
  46.     {
  47.         return $this->user;
  48.     }
  49.     public function setUser(?User $user): static
  50.     {
  51.         $this->user $user;
  52.         return $this;
  53.     }
  54.     public function getEmailAddress(): ?string
  55.     {
  56.         return $this->emailAddress;
  57.     }
  58.     public function setEmailAddress(string $emailAddress): static
  59.     {
  60.         $this->emailAddress $emailAddress;
  61.         return $this;
  62.     }
  63.     public function getEmailType(): ?EmailType
  64.     {
  65.         return $this->emailType;
  66.     }
  67.     public function setEmailType(?EmailType $emailType): static
  68.     {
  69.         $this->emailType $emailType;
  70.         return $this;
  71.     }
  72.     public function getEmailContent(): ?EmailContent
  73.     {
  74.         return $this->emailContent;
  75.     }
  76.     public function setEmailContent(?EmailContent $emailContent): static
  77.     {
  78.         $this->emailContent $emailContent;
  79.         return $this;
  80.     }
  81.     public function getUpdated(): ?\DateTimeInterface
  82.     {
  83.         return $this->updated;
  84.     }
  85.     #[ORM\PrePersist]
  86.     #[ORM\PreUpdate]
  87.     public function setUpdatedTimestamp(): void
  88.     {
  89.         $this->updated = new \DateTime();
  90.     }
  91.     public function getUpdatedBy(): ?int
  92.     {
  93.         return $this->updatedBy;
  94.     }
  95.     public function setUpdatedBy(?User $updatedBy): static
  96.     {
  97.         $this->updatedBy = ($updatedBy)? $updatedBy->getId() : null;
  98.         return $this;
  99.     }
  100.     /**
  101.      * @return Collection<int, EmailArchiveDetail>
  102.      */
  103.     public function getEmailArchiveDetails(): Collection
  104.     {
  105.         return $this->emailArchiveDetails;
  106.     }
  107.     public function addEmailArchiveDetail(EmailArchiveDetail $emailArchiveDetail): static
  108.     {
  109.         if (!$this->emailArchiveDetails->contains($emailArchiveDetail)) {
  110.             $this->emailArchiveDetails->add($emailArchiveDetail);
  111.             $emailArchiveDetail->setEmailArchive($this);
  112.         }
  113.         return $this;
  114.     }
  115.     public function removeEmailArchiveDetail(EmailArchiveDetail $emailArchiveDetail): static
  116.     {
  117.         if ($this->emailArchiveDetails->removeElement($emailArchiveDetail)) {
  118.             // set the owning side to null (unless already changed)
  119.             if ($emailArchiveDetail->getEmailArchive() === $this) {
  120.                 $emailArchiveDetail->setEmailArchive(null);
  121.             }
  122.         }
  123.         return $this;
  124.     }
  125. }