<?phpnamespace App\Entity;use App\Repository\CommentaireTicketRepository;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: CommentaireTicketRepository::class)]class CommentaireTicket{ #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\ManyToOne(inversedBy: 'commentaires')] #[ORM\JoinColumn(nullable: false)] private ?Ticket $ticket = null; #[ORM\Column(type: Types::TEXT)] private ?string $contenu = null; #[ORM\ManyToOne(targetEntity: User::class)] #[ORM\JoinColumn(nullable: false)] private ?User $auteur = null; #[ORM\Column] private ?\DateTimeImmutable $createdAt = null; #[ORM\Column(nullable: true)] private ?\DateTimeImmutable $updatedAt = null; #[ORM\Column] private ?bool $estInterne = false; // Visible uniquement par l'équipe, pas par le client public function __construct() { $this->createdAt = new \DateTimeImmutable(); } public function getId(): ?int { return $this->id; } public function getTicket(): ?Ticket { return $this->ticket; } public function setTicket(?Ticket $ticket): static { $this->ticket = $ticket; return $this; } public function getContenu(): ?string { return $this->contenu; } public function setContenu(string $contenu): static { $this->contenu = $contenu; return $this; } public function getAuteur(): ?User { return $this->auteur; } public function setAuteur(?User $auteur): static { $this->auteur = $auteur; return $this; } public function getCreatedAt(): ?\DateTimeImmutable { return $this->createdAt; } public function setCreatedAt(\DateTimeImmutable $createdAt): static { $this->createdAt = $createdAt; return $this; } public function getUpdatedAt(): ?\DateTimeImmutable { return $this->updatedAt; } public function setUpdatedAt(?\DateTimeImmutable $updatedAt): static { $this->updatedAt = $updatedAt; return $this; } public function isEstInterne(): ?bool { return $this->estInterne; } public function setEstInterne(bool $estInterne): static { $this->estInterne = $estInterne; return $this; } public function __toString(): string { return substr($this->contenu ?? '', 0, 50) . '...'; }}