src/Entity/Chat/FileMessage.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Chat;
  3. use App\Enum\MessageType;
  4. use App\Repository\Chat\FileMessageRepository;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Symfony\Component\Serializer\Annotation as Serial;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. #[ORM\Entity(repositoryClassFileMessageRepository::class)]
  9. #[ORM\Table(name'chat_file_messages')]
  10. class FileMessage extends Message
  11. {
  12.     #[ORM\OneToOne(mappedBy'fileMessage'targetEntityFile::class, cascade: ['persist''remove'])]
  13.     #[Serial\Groups(['Message''PostFileMessage'])]
  14.     #[
  15.         Assert\Valid(groups: ['PostFileMessage']),
  16.         Assert\NotNull(groups: ['PostFileMessage'])
  17.     ]
  18.     private ?File $file null;
  19.     #[ORM\Column(type'integer'nullabletrue)]
  20.     #[Serial\Groups(['Message''PostFileMessage'])]
  21.     private ?int $fileMessageType null;
  22.     public function __construct()
  23.     {
  24.         parent::__construct();
  25.         $this->setMessageType(MessageType::MESSAGE_FILE);
  26.     }
  27.     public function getFile(): ?File
  28.     {
  29.         return $this->file;
  30.     }
  31.     public function setFile(?File $file): FileMessage
  32.     {
  33.         $this->file $file;
  34.         if ($this->file !== null) {
  35.             $this->getFile()->setFileMessage($this);
  36.         }
  37.         return $this;
  38.     }
  39.     public function getFileMessageType(): ?int
  40.     {
  41.         return $this->fileMessageType;
  42.     }
  43.     public function setFileMessageType(?int $fileMessageType): FileMessage
  44.     {
  45.         $this->fileMessageType $fileMessageType;
  46.         return $this;
  47.     }
  48. }