<?php
namespace App\Entity\User;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\Federation\Race;
use Gedmo\Mapping\Annotation as Gedmo;
use App\Entity\Media\Document;
use Symfony\Component\Validator\Constraints as Assert;
use App\Entity\Site\Site;
/**
* @ORM\Entity(repositoryClass="App\Repository\User\AlertRepository")
* @ORM\Table(name="alerts")
* @ORM\HasLifecycleCallbacks
*/
class Alert
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(name="name", type="string", length=255)
* @Assert\NotBlank()
*/
private $name;
/**
* @ORM\Column(type="array", nullable=true)
*/
private $documentsName;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Media\Document", inversedBy="alerts")
*/
private $document;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Site\Site", inversedBy="alerts")
*/
private $site;
/**
* @ORM\Column(type="integer")
*/
private $notification;
/**
* @ORM\Column(type="integer")
* @ORM\Column(name="number_emails_sent", type="integer", nullable=false)
*/
private $numberEmailsSent;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $email;
/**
* @ORM\Column(type="datetime")
* @ORM\Column(name="created_date", type="datetime", nullable=false)
* @Gedmo\Timestampable(on="create")
*/
private $createdDate;
/**
* @ORM\Column(type="datetime")
* @ORM\Column(name="updated_date", type="datetime", nullable=true)
* @Gedmo\Timestampable(on="update")
*/
private $updatedDate;
/**
* @ORM\Column(type="boolean")
*/
private $status = 1;
public function getId(): ?int
{
return $this->id;
}
public function setName($name)
{
$this->name = $name;
return $this;
}
public function getName()
{
return $this->name;
}
public function getSite(): ?Site
{
return $this->site;
}
public function setSite(?Site $site): self
{
$this->site = $site;
return $this;
}
public function getDocumentsName(): ?array
{
return $this->documentsName;
}
public function setDocumentsName(array $documentsName): self
{
$this->documentsName = $documentsName;
return $this;
}
public function getNotification(): ?int
{
return $this->notification;
}
public function setNotification(int $notification): self
{
$this->notification = $notification;
return $this;
}
public function getNumberEmailsSent(): ?int
{
return $this->numberEmailsSent;
}
public function setNumberEmailsSent(int $numberEmailsSent): self
{
$this->numberEmailsSent = $numberEmailsSent;
return $this;
}
public function setEmail(?string $email)
{
$this->email = $email;
return $this;
}
public function getEmail()
{
return $this->email;
}
public function getCreatedDate(): ?\DateTimeInterface
{
return $this->createdDate;
}
public function getUpdatedDate(): ?\DateTimeInterface
{
return $this->updatedDate;
}
public function getStatus(): ?bool
{
return $this->status;
}
public function setStatus(bool $status): self
{
$this->status = $status;
return $this;
}
public function getDocument(): ?Document
{
return $this->document;
}
public function setDocument(?Document $document): self
{
$this->document = $document;
return $this;
}
}