Sindbad~EG File Manager
<?php
namespace O2switch\CpanelLib\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use O2switch\CpanelLib\Repository\CustomizationRepository;
use O2switch\CpanelLib\DataEntity\ProxyPassInfo;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Customization
*
* @ORM\Table(name="Customization",
* uniqueConstraints={
* @ORM\UniqueConstraint(name="servername", columns={"servername"}),
* @ORM\UniqueConstraint(name="mainDomain", columns={"mainDomain"})
* }
* )
* @ORM\Entity(repositoryClass=CustomizationRepository::class)
*/
class Customization
{
const APP_NGINX = 1;
const APP_VARNISH = 2;
const APP_LSCACHE = 3;
// Application type
const TYPE_NONE = "none";
const TYPE_CACHE = "cache";
const TYPE_CACHE_DISABLED = "disabledCache";
const TYPE_IPXTENDER = "ipxtender";
const TYPE_IPXTENDER_AND_CACHE = "ipxtenderAndCache";
const TYPE_IPXTENDER_AND_CACHE_DISABLED = "ipxtenderAndCacheDisabled";
const TYPE_LSCACHE = "lscache";
const TYPE_IPXTENDER_AND_LSCACHE = "ipxtenderAndLscache";
/**
* @var int
* @ORM\Column(name="id", type="bigint")
* @ORM\Id()
* @ORM\GeneratedValue()
*/
private $id;
/**
* @var string
* @ORM\Column(name="mainDomain", type="string", length=255, nullable=false)
* @Assert\NotBlank()
* @Assert\NotNull()
* @Assert\Regex("#^[a-zA-Z0-9-.]+\.[a-zA-Z]{2,}$#")
*/
private $mainDomain;
/**
* @var string
* @ORM\Column(name="servername", type="string", length=120, nullable=false)
* @Assert\NotBlank()
* @Assert\NotNull()
*/
private $servername;
/**
* @var string
* @ORM\Column(name="cpUser", type="string", length=20, nullable=false)
* @Assert\NotBlank()
* @Assert\NotNull()
* @Assert\Length(min=2, max=16)
* @Assert\Regex("#^[a-z][a-z0-9]{1,15}$#")
*/
private $cpUser;
/**
* @var string
* @ORM\Column(name="originalBackendIP", type="string", length=15, nullable=false)
* @Assert\NotBlank()
* @Assert\NotNull()
* @Assert\Ip()
*/
private $originalBackendIP;
/**
* @ORM\Column(name="type", type="string", length=255, nullable=false)
* @Assert\NotBlank()
* @Assert\NotNull()
* @Assert\Choice(choices={Customization::TYPE_NONE, Customization::TYPE_CACHE, Customization::TYPE_CACHE_DISABLED,
* Customization::TYPE_IPXTENDER, Customization::TYPE_IPXTENDER_AND_CACHE, Customization::TYPE_LSCACHE,
* Customization::TYPE_IPXTENDER_AND_CACHE_DISABLED, Customization::TYPE_IPXTENDER_AND_LSCACHE})
*/
private $type;
/**
* @var array|null
*
* @ORM\Column(name="additionalData", type="json", length=65535, nullable=true)
* @Assert\Type(type="array")
*/
private $additionalData;
/**
* @var bool
* @ORM\Column(name="isSslAvailable", type="boolean", nullable=false)
* @Assert\Type("boolean")
*/
private $isSslAvailable;
/**
* @var string
* @ORM\Column(name="customerIp", type="string", length=15, nullable=false)
* @Assert\NotBlank()
* @Assert\NotNull()
* @Assert\Ip()
*/
private $customerIp;
/**
* @var \DateTime
* @ORM\Column(name="dateCreated", type="datetime", nullable=false)
* @Assert\NotBlank()
* @Assert\NotNull()
*/
private $dateCreated;
/**
* @ORM\OneToMany(targetEntity=Chain::class, mappedBy="customization")
* @ORM\OrderBy({"position" = "ASC"})
*/
private $chains;
public function __construct(){
$this->chains = new ArrayCollection();
}
public function setProxyPassInfo(ProxyPassInfo $proxyPassInfo){
}
/**
* @return string
*/
public function getMainDomain(): string
{
return $this->mainDomain;
}
/**
* @param string $mainDomain
* @return Customization
*/
public function setMainDomain(string $mainDomain): Customization
{
$this->mainDomain = $mainDomain;
return $this;
}
/**
* @return string
*/
public function getServername(): string
{
return $this->servername;
}
/**
* @param string $servername
* @return Customization
*/
public function setServername(string $servername): Customization
{
$this->servername = $servername;
return $this;
}
/**
* @return string
*/
public function getCpUser(): string
{
return $this->cpUser;
}
/**
* @param string $cpUser
* @return Customization
*/
public function setCpUser(string $cpUser): Customization
{
$this->cpUser = $cpUser;
return $this;
}
/**
* @return string
*/
public function getOriginalBackendIP(): string
{
return $this->originalBackendIP;
}
/**
* @param string $originalBackendIP
* @return Customization
*/
public function setOriginalBackendIP(string $originalBackendIP): Customization
{
$this->originalBackendIP = $originalBackendIP;
return $this;
}
/**
* @return mixed
*/
public function getType()
{
return $this->type;
}
/**
* @param mixed $type
* @return Customization
*/
public function setType($type)
{
$this->type = $type;
return $this;
}
/**
* @return array|null
*/
public function getAdditionalData(): ?array
{
return $this->additionalData;
}
/**
* @param array|null $additionalData
* @return Customization
*/
public function setAdditionalData(?array $additionalData): Customization
{
$this->additionalData = $additionalData;
return $this;
}
/**
* @return bool
*/
public function isSslAvailable(): bool
{
return $this->isSslAvailable;
}
/**
* @param bool $isSslAvailable
* @return Customization
*/
public function setIsSslAvailable(bool $isSslAvailable): Customization
{
$this->isSslAvailable = $isSslAvailable;
return $this;
}
/**
* @return string
*/
public function getCustomerIp(): string
{
return $this->customerIp;
}
/**
* @param string $customerIp
* @return Customization
*/
public function setCustomerIp(string $customerIp): Customization
{
$this->customerIp = $customerIp;
return $this;
}
/**
* @return \DateTime
*/
public function getDateCreated(): \DateTime
{
return $this->dateCreated;
}
/**
* @param \DateTime $dateCreated
* @return Customization
*/
public function setDateCreated(\DateTime $dateCreated): Customization
{
$this->dateCreated = $dateCreated;
return $this;
}
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
public function getChains()
{
return $this->chains;
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists