<?phpdeclare(strict_types=1);namespace App\Notification\Doctrine\Entity;use App\Notification\Doctrine\Repository\NotificationRepository;use App\Security\Doctrine\Entity\User;use DateTimeImmutable;use Doctrine\ORM\Mapping\Column;use Doctrine\ORM\Mapping\Entity;use Doctrine\ORM\Mapping\GeneratedValue;use Doctrine\ORM\Mapping\Id;use Doctrine\ORM\Mapping\JoinColumn;use Doctrine\ORM\Mapping\ManyToOne;use Doctrine\ORM\Mapping\Table;#[Entity(repositoryClass: NotificationRepository::class)]#[Table(name: 'notification')]class Notification{ #[Id] #[Column(type: 'integer')] #[GeneratedValue] private ?int $id = null; #[ManyToOne(targetEntity: User::class)] #[JoinColumn(nullable: false, onDelete: 'CASCADE')] private User $user; #[Column(type: 'datetime_immutable')] private DateTimeImmutable $sentAt; #[Column(type: 'datetime_immutable', nullable: true)] private ?DateTimeImmutable $readAt = null; #[Column] private string $content; #[Column] private string $route; /** * @var array<string, mixed> */ #[Column(type: 'array')] private array $routeParams = []; #[Column] private string $model; public function __construct() { $this->sentAt = new DateTimeImmutable(); } public function getId(): ?int { return $this->id; } public function getUser(): User { return $this->user; } public function setUser(User $user): void { $this->user = $user; } public function getSentAt(): DateTimeImmutable { return $this->sentAt; } public function setSentAt(DateTimeImmutable $sentAt): void { $this->sentAt = $sentAt; } public function getReadAt(): ?DateTimeImmutable { return $this->readAt; } public function setReadAt(?DateTimeImmutable $readAt): void { $this->readAt = $readAt; } public function getContent(): string { return $this->content; } public function setContent(string $content): void { $this->content = $content; } public function getRoute(): string { return $this->route; } public function setRoute(string $route): void { $this->route = $route; } /** * @return array<string, mixed> */ public function getRouteParams(): array { return $this->routeParams; } /** * @param array<string, mixed> $routeParams */ public function setRouteParams(array $routeParams): void { $this->routeParams = $routeParams; } public function getModel(): string { return $this->model; } public function setModel(string $model): void { $this->model = $model; }}