<?php
namespace Roothirsch\CoreBundle\Entity;
use App\Repository\ReportSubscriptionRepository;
use Cron\CronExpression;
use Doctrine\ORM\Mapping as ORM;
use Roothirsch\CoreBundle\Entity\User;
use Setono\CronExpressionBundle\Doctrine\DBAL\Types\CronExpressionType;
/**
* @ORM\Entity(repositoryClass=ReportSubscriptionRepository::class)
*/
class ReportSubscription
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $reportKey;
/**
* @ORM\ManyToOne(targetEntity=User::class)
* @ORM\JoinColumn(nullable=false)
*/
private $user;
/**
* @ORM\Column(type=CronExpressionType::CRON_EXPRESSION_TYPE)
*/
private $reportInterval;
/**
* @ORM\Column(type="datetime_immutable", nullable=true)
*/
private $sendAt;
public function getId(): ?int
{
return $this->id;
}
public function getReportKey(): ?string
{
return $this->reportKey;
}
public function setReportKey(string $reportKey): self
{
$this->reportKey = $reportKey;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getReportInterval(): ?CronExpression
{
return $this->reportInterval;
}
public function setReportInterval(CronExpression $reportInterval): self
{
$this->reportInterval = $reportInterval;
return $this;
}
public function getSendAt(): ?\DateTimeImmutable
{
return $this->sendAt;
}
public function setSendAt(?\DateTimeImmutable $sendAt): self
{
$this->sendAt = $sendAt;
return $this;
}
public function isDue(){
}
}