<?php
namespace App\Entity\Gos;
use App\Entity\Gos\Orders;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\Gos\TeleOrderRepository")
* @ORM\HasLifecycleCallbacks()
*/
class TeleOrder
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\OneToOne(targetEntity="Orders", inversedBy="teleOrder", cascade={"persist", "remove"})
* @ORM\JoinColumn()
*/
private $mainOrder;
/**
* @ORM\Column(type="string", length=255)
*/
private $hash;
/**
* @ORM\Column(type="string", length=255)
*/
private $pin;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $validTo;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $createdAt;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $hasFinished;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $userCreated;
/**
* @ORM\OneToOne(targetEntity="App\Entity\Gos\ShortUrl", cascade={"persist", "remove"})
*/
private $url;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $rid;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $finishedAt;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $urlString;
/**
* @ORM\Column(type="json", nullable=true)
*/
private $productVariants = [];
/** @ORM\PrePersist() */
public function onPrePersist(): void
{
$this->createdAt = new \DateTime();
}
public function getId(): ?int
{
return $this->id;
}
public function getMainOrder(): ?Orders
{
return $this->mainOrder;
}
public function setMainOrder(?Orders $mainOrder): self
{
$this->mainOrder = $mainOrder;
return $this;
}
public function getHash(): ?string
{
return $this->hash;
}
public function setHash(string $hash): self
{
$this->hash = $hash;
return $this;
}
public function getPin(): ?string
{
return $this->pin;
}
public function setPin(string $pin): self
{
$this->pin = $pin;
return $this;
}
public function getValidTo(): ?\DateTimeInterface
{
return $this->validTo;
}
public function setValidTo(?\DateTimeInterface $validTo): self
{
$this->validTo = $validTo;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(?\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getHasFinished(): ?bool
{
return $this->hasFinished;
}
public function setHasFinished(?bool $hasFinished): self
{
$this->hasFinished = $hasFinished;
return $this;
}
public function getUserCreated(): ?bool
{
return $this->userCreated;
}
public function setUserCreated(?bool $userCreated): self
{
$this->userCreated = $userCreated;
return $this;
}
public function getUrl(): ?ShortUrl
{
return $this->url;
}
public function setUrl(?ShortUrl $url): self
{
$this->url = $url;
return $this;
}
public function getRid(): ?string
{
return $this->rid;
}
public function setRid(?string $rid): self
{
$this->rid = $rid;
return $this;
}
public function getFinishedAt(): ?\DateTimeInterface
{
return $this->finishedAt;
}
public function setFinishedAt(?\DateTimeInterface $finishedAt): self
{
$this->finishedAt = $finishedAt;
return $this;
}
public function getUrlString(): ?string
{
return $this->urlString;
}
public function setUrlString(?string $urlString): self
{
$this->urlString = $urlString;
return $this;
}
public function getProductVariants(): ?array
{
return $this->productVariants;
}
public function setProductVariants(?array $productVariants): self
{
$this->productVariants = $productVariants;
return $this;
}
}