src/Entity/DiscussionMessage.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Traits\Timestampable;
  4. use App\Repository\DiscussionMessageRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\DBAL\Types\Types;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use JMS\Serializer\Annotation\Groups;
  10. #[ORM\HasLifecycleCallbacks]
  11. #[ORM\Entity(repositoryClassDiscussionMessageRepository::class)]
  12. class DiscussionMessage
  13. {
  14.     use Timestampable;
  15.     #[ORM\Id]
  16.     #[ORM\GeneratedValue]
  17.     #[ORM\Column]
  18.     #[Groups(['getDiscussion'])]
  19.     private ?int $id null;
  20.     #[ORM\ManyToOne(inversedBy'discussionMessages')]
  21.     #[Groups(['getDiscussion'])]
  22.     private ?User $messageBy null;
  23.     #[ORM\ManyToOne(inversedBy'discussionMessages')]
  24.     #[Groups(['getDiscussion'])]
  25.     private ?User $messageFor null;
  26.     #[ORM\Column]
  27.     #[Groups(['getDiscussion'])]
  28.     private ?bool $isRead null;
  29.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  30.     #[Groups(['getDiscussion'])]
  31.     private ?string $message null;
  32.     #[ORM\ManyToOne(inversedBy'discussionMessages')]
  33.     #[ORM\JoinColumn(nullablefalse)]
  34.     private ?Discussion $discussion null;
  35.     #[ORM\Column(length255nullabletrue)]
  36.     #[Groups(['getDiscussion'])]
  37.     private ?string $fileName null;
  38.     #[ORM\ManyToOne(targetEntityself::class, inversedBy'discussionMessagesReply')]
  39.     #[Groups(['getDiscussion'])]
  40.     private ?self $replyToMessage null;
  41.     #[ORM\OneToMany(mappedBy'replyToMessage'targetEntityself::class)]
  42.     private Collection $discussionMessagesReply;
  43.     public function __construct()
  44.     {
  45.         $this->discussionMessagesReply = new ArrayCollection();
  46.     }
  47.     public function getId(): ?int
  48.     {
  49.         return $this->id;
  50.     }
  51.     public function getMessageBy(): ?User
  52.     {
  53.         return $this->messageBy;
  54.     }
  55.     public function setMessageBy(?User $messageBy): static
  56.     {
  57.         $this->messageBy $messageBy;
  58.         return $this;
  59.     }
  60.     public function getMessageFor(): ?User
  61.     {
  62.         return $this->messageFor;
  63.     }
  64.     public function setMessageFor(?User $messageFor): static
  65.     {
  66.         $this->messageFor $messageFor;
  67.         return $this;
  68.     }
  69.     public function isIsRead(): ?bool
  70.     {
  71.         return $this->isRead;
  72.     }
  73.     public function setIsRead(bool $isRead): static
  74.     {
  75.         $this->isRead $isRead;
  76.         return $this;
  77.     }
  78.     public function getMessage(): ?string
  79.     {
  80.         return $this->message;
  81.     }
  82.     public function setMessage(?string $message): static
  83.     {
  84.         $this->message $message;
  85.         return $this;
  86.     }
  87.     public function getDiscussion(): ?Discussion
  88.     {
  89.         return $this->discussion;
  90.     }
  91.     public function setDiscussion(?Discussion $discussion): static
  92.     {
  93.         $this->discussion $discussion;
  94.         return $this;
  95.     }
  96.     public function getFileName(): ?string
  97.     {
  98.         return $this->fileName;
  99.     }
  100.     public function setFileName(?string $fileName): static
  101.     {
  102.         $this->fileName $fileName;
  103.         return $this;
  104.     }
  105.     public function getReplyToMessage(): ?self
  106.     {
  107.         return $this->replyToMessage;
  108.     }
  109.     public function setReplyToMessage(?self $replyToMessage): static
  110.     {
  111.         $this->replyToMessage $replyToMessage;
  112.         return $this;
  113.     }
  114.     /**
  115.      * @return Collection<int, self>
  116.      */
  117.     public function getDiscussionMessagesReply(): Collection
  118.     {
  119.         return $this->discussionMessagesReply;
  120.     }
  121.     public function addDiscussionMessagesReply(self $discussionMessagesReply): static
  122.     {
  123.         if (!$this->discussionMessagesReply->contains($discussionMessagesReply)) {
  124.             $this->discussionMessagesReply->add($discussionMessagesReply);
  125.             $discussionMessagesReply->setReplyToMessage($this);
  126.         }
  127.         return $this;
  128.     }
  129.     public function removeDiscussionMessagesReply(self $discussionMessagesReply): static
  130.     {
  131.         if ($this->discussionMessagesReply->removeElement($discussionMessagesReply)) {
  132.             // set the owning side to null (unless already changed)
  133.             if ($discussionMessagesReply->getReplyToMessage() === $this) {
  134.                 $discussionMessagesReply->setReplyToMessage(null);
  135.             }
  136.         }
  137.         return $this;
  138.     }
  139. }