<?php
namespace App\Entity;
use App\Entity\GeoEdge\Agency;
use App\Repository\RescanConfigRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Rescan delay configuration class
*
* @ORM\Entity(repositoryClass=RescanConfigRepository::class)
* @ORM\Table(name="rescan_config", uniqueConstraints={@ORM\UniqueConstraint(name="UNIQ_6912F3B9F12C49A", columns={"affiliate_id"})})
* @UniqueEntity(
* fields={"affiliate"},
* message="Duplicated affiliate"
* )
* @ORM\HasLifecycleCallbacks()
*/
class RescanConfig extends AbstractBaseEntity
{
/**
* @ORM\OneToOne(targetEntity="App\Entity\GeoEdge\Agency")
* @ORM\JoinColumn(name="affiliate_id", referencedColumnName="agencyid", nullable=false)
* @Assert\NotNull()
*/
private Agency $affiliate;
/**
* @ORM\Column(name="rescan_delay", type="integer", nullable=false, options={"default": 1}, columnDefinition="INT DEFAULT 1 NOT NULL CHECK(`rescan_delay` > 0)")
* @Assert\NotBlank()
* @Assert\Positive()
* @Assert\Type("integer")
*/
private int $rescanDelay;
/**
* @return Agency
*/
public function getAffiliate(): Agency
{
return $this->affiliate;
}
/**
* @param Agency $affiliate
* @return $this
*/
public function setAffiliate(Agency $affiliate): self
{
$this->affiliate = $affiliate;
return $this;
}
/**
* @return int
*/
public function getRescanDelay(): int
{
return $this->rescanDelay;
}
/**
* @param int $rescanDelay
* @return RescanConfig
*/
public function setRescanDelay(int $rescanDelay): self
{
$this->rescanDelay = $rescanDelay;
return $this;
}
/**
* constructor
*/
public function __construct()
{
parent::__construct();
}
}