src/Entity/ChatMessage.php line 11
<?php
namespace App\Entity;
use App\Repository\ChatMessageRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: ChatMessageRepository::class)]
#[ORM\HasLifecycleCallbacks]
class ChatMessage
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\ManyToOne(inversedBy: 'chatMessages')]
#[ORM\JoinColumn(nullable: false)]
private ?Eleve $student = null;
#[ORM\Column(type: Types::TEXT)]
private ?string $content = null;
#[ORM\Column]
private ?bool $isFromAI = null;
#[ORM\Column]
private ?\DateTimeImmutable $createdAt = null;
#[ORM\ManyToOne]
#[ORM\JoinColumn(nullable: false)]
private ?Categorie $subject = null;
#[ORM\Column]
private bool $isRead = false;
public function __construct()
{
$this->createdAt = new \DateTimeImmutable();
$this->isFromAI = false;
$this->isRead = false;
}
public function getId(): ?int
{
return $this->id;
}
public function getStudent(): ?Eleve
{
return $this->student;
}
public function setStudent(?Eleve $student): self
{
$this->student = $student;
return $this;
}
public function getContent(): ?string
{
return $this->content;
}
public function setContent(string $content): self
{
$this->content = $content;
return $this;
}
public function isFromAI(): ?bool
{
return $this->isFromAI;
}
public function setIsFromAI(bool $isFromAI): self
{
$this->isFromAI = $isFromAI;
return $this;
}
public function getCreatedAt(): ?\DateTimeImmutable
{
return $this->createdAt;
}
#[ORM\PrePersist]
public function setCreatedAt(): self
{
$this->createdAt = new \DateTimeImmutable();
return $this;
}
public function getSubject(): ?Categorie
{
return $this->subject;
}
public function setSubject(?Categorie $subject): self
{
$this->subject = $subject;
return $this;
}
public function isRead(): bool
{
return $this->isRead;
}
public function setIsRead(bool $isRead): self
{
$this->isRead = $isRead;
return $this;
}
}