<?php
namespace App\Entity\Extranet;
use App\Annotation\SiteAware;
use App\Entity\AbstractBase;
use App\Entity\Interfaces\SiteInterface;
use App\Entity\Traits\SiteTrait;
use App\Entity\User;
use App\Repository\Extranet\AlertUserRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* @ORM\Table(name="vulco_alert_user", indexes={@ORM\Index(name="alert_user_address_site_idx", columns={"site"})})
* @ORM\Entity(repositoryClass=AlertUserRepository::class)
* @Gedmo\SoftDeleteable(fieldName="removedAt", timeAware=false)
* @SiteAware(siteFieldName="site")
*/
class AlertUser extends AbstractBase implements SiteInterface
{
use SiteTrait;
/**
* @ORM\Column(type="boolean", nullable=false, options={"default": 0})
*/
private bool $accepted = false;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private ?\DateTimeInterface $firstShownDate = null;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private ?\DateTimeInterface $acceptedDate = null;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Extranet\Alert")
* @ORM\JoinColumn(name="alert_id", referencedColumnName="id")
*/
private ?Alert $alert = null;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private ?User $user = null;
public function isAccepted(): bool
{
return $this->accepted;
}
public function getAccepted(): bool
{
return $this->isAccepted();
}
public function setAccepted(bool $accepted): self
{
$this->accepted = $accepted;
return $this;
}
public function getFirstShownDate(): ?\DateTimeInterface
{
return $this->firstShownDate;
}
public function setFirstShownDate(?\DateTimeInterface $firstShownDate): self
{
$this->firstShownDate = $firstShownDate;
return $this;
}
public function getAcceptedDate(): ?\DateTimeInterface
{
return $this->acceptedDate;
}
public function setAcceptedDate(?\DateTimeInterface $acceptedDate): self
{
$this->acceptedDate = $acceptedDate;
return $this;
}
public function getAlert(): ?Alert
{
return $this->alert;
}
public function setAlert(?Alert $alert): self
{
$this->alert = $alert;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
}