<?php
namespace App\Entity;
use App\Utility\GuidUtility;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
*
* @ORM\Table(
* name="gohiring_requests",
* indexes={
*
* @ORM\Index(name="occured_at_idx", columns={"occured_at"}),
* }
* )
*/
class GohiringRequest
{
public function __construct(DateTime $occuredAt, string $request)
{
$this->occuredAt = $occuredAt;
$this->request = $request;
}
/**
* @var string
*
* @ORM\GeneratedValue(strategy="CUSTOM")
*
* @ORM\CustomIdGenerator(class="App\Utility\DatabaseIdGenerator")
*
* @ORM\Column(name="id", type="guid")
*
* @ORM\Id
*/
protected $id;
public function setId(string $id): void
{
GuidUtility::validOrThrow($id);
$this->id = $id;
}
public function getId(): string
{
return $this->id;
}
/**
* @var DateTime
*
* @ORM\Column(name="occured_at", type="datetime", nullable=false)
*/
protected $occuredAt;
public function setOccuredAt(DateTime $occuredAt): void
{
$this->occuredAt = $occuredAt;
}
public function getOccuredAt(): DateTime
{
return $this->occuredAt;
}
/**
* @var string
*
* @ORM\Column(name="request", type="text", length=32768, nullable=false)
*/
protected $request;
public function setRequest(string $request): void
{
$this->request = mb_substr($request, 0, 32768);
}
public function getRequest(): string
{
return $this->request;
}
}