<?php
namespace App\Entity;
use App\Repository\InAppAnnouncementUserRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: InAppAnnouncementUserRepository::class)]
class InAppAnnouncementUser
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\ManyToOne(targetEntity: InAppAnnouncement::class, inversedBy: 'inAppAnnouncementUsers')]
#[ORM\JoinColumn(nullable: false)]
private $announcement;
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(nullable: false)]
private $user;
#[ORM\Column(type: 'datetime_immutable', nullable: true)]
private $seenAt;
#[ORM\Column(type: 'datetime_immutable', nullable: true)]
private $dismissedAt;
public function getId(): ?int
{
return $this->id;
}
public function getAnnouncement(): ?InAppAnnouncement
{
return $this->announcement;
}
public function setAnnouncement(?InAppAnnouncement $announcement): self
{
$this->announcement = $announcement;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getSeenAt(): ?\DateTimeImmutable
{
return $this->seenAt;
}
public function setSeenAt(?\DateTimeImmutable $seenAt): self
{
$this->seenAt = $seenAt;
return $this;
}
public function getDismissedAt(): ?\DateTimeImmutable
{
return $this->dismissedAt;
}
public function setDismissedAt(?\DateTimeImmutable $dismissedAt): self
{
$this->dismissedAt = $dismissedAt;
return $this;
}
}