<?phpnamespace App\Entity;use App\Repository\MessageRepository;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Symfony\UX\Turbo\Attribute\Broadcast;#[ORM\Entity(repositoryClass: MessageRepository::class)]#[Broadcast]class Message{ use IdentifiableTrait; #[ORM\ManyToOne(inversedBy: 'senderMessages')] #[ORM\JoinColumn(nullable: false)] private ?User $sender = null; #[ORM\ManyToOne(inversedBy: 'messages')] #[ORM\JoinColumn(nullable: false)] private ?MessageReceiver $receiver = null; #[ORM\Column(length: 255)] private ?string $subject = null; #[ORM\Column(type: Types::TEXT)] private ?string $body = null; #[ORM\Column] private ?\DateTimeImmutable $created_at = null; #[ORM\ManyToOne(inversedBy: 'messages')] #[ORM\JoinColumn(nullable: false)] private ?MessageStatus $status = null; public function getId(): ?int { return $this->id; } public function getSender(): ?User { return $this->sender; } public function setSender(?User $sender): self { $this->sender = $sender; return $this; } public function getReceiver(): ?MessageReceiver { return $this->receiver; } public function setReceiver(?MessageReceiver $receiver): self { $this->receiver = $receiver; return $this; } public function getBody(): ?string { return $this->body; } public function setBody(string $body): self { $this->body = $body; return $this; } public function getSubject(): ?string { return $this->subject; } public function setSubject(string $subject): self { $this->subject = $subject; return $this; } public function getCreatedAt(): ?\DateTimeImmutable { return $this->created_at; } public function setCreatedAt(\DateTimeImmutable $created_at): self { $this->created_at = $created_at; return $this; } public function getStatus(): ?MessageStatus { return $this->status; } public function setStatus(?MessageStatus $status): self { $this->status = $status; return $this; }}