src/Entity/Chat/ServiceConversation.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Chat;
  3. use App\Entity\Account\User;
  4. use App\Entity\Channel\Service;
  5. use App\Enum\ConversationType;
  6. use App\Repository\Chat\ServiceConversationRepository;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Symfony\Component\Serializer\Annotation\Groups;
  9. #[ORM\Entity(repositoryClassServiceConversationRepository::class)]
  10. #[ORM\Table(name'chat_service_conversations')]
  11. class ServiceConversation extends Conversation
  12. {
  13.     #[ORM\ManyToOne(targetEntityService::class)]
  14.     #[ORM\JoinColumn(nullablefalseonDelete'CASCADE')]
  15.     #[Groups(['Conversation'])]
  16.     private ?Service $service null;
  17.     #[ORM\Column(type'boolean'nullablefalseoptions: ['default' => false])]
  18.     private bool $closed false;
  19.     #[ORM\OneToOne(targetEntityMessage::class, cascade: ['remove'])]
  20.     #[ORM\JoinColumn(nullabletrueonDelete'SET NULL')]
  21.     private ?Message $lastMessage null;
  22.     #[ORM\ManyToOne(targetEntityUser::class)]
  23.     #[ORM\JoinColumn(nullabletrueonDelete'SET NULL')]
  24.     #[Groups(['Conversation'])]
  25.     private ?User $mainServiceUser null;
  26.     public function __construct()
  27.     {
  28.         parent::__construct();
  29.         $this->setType(ConversationType::DISCUSSION_SERVICE);
  30.     }
  31.     public function getService(): ?Service
  32.     {
  33.         return $this->service;
  34.     }
  35.     public function setService(?Service $service): ServiceConversation
  36.     {
  37.         $this->service $service;
  38.         return $this;
  39.     }
  40.     public function getClosed(): bool
  41.     {
  42.         return $this->closed;
  43.     }
  44.     public function setClosed(bool $closed): ServiceConversation
  45.     {
  46.         $this->closed $closed;
  47.         return $this;
  48.     }
  49.     public function getLastMessage(): ?Message
  50.     {
  51.         return $this->lastMessage;
  52.     }
  53.     public function setLastMessage(?Message $lastMessage): ServiceConversation
  54.     {
  55.         $this->lastMessage $lastMessage;
  56.         return $this;
  57.     }
  58.     public function getMainServiceUser(): ?User
  59.     {
  60.         return $this->mainServiceUser;
  61.     }
  62.     public function setMainServiceUser(?User $mainServiceUser): ServiceConversation
  63.     {
  64.         $this->mainServiceUser $mainServiceUser;
  65.         return $this;
  66.     }
  67. }