<?php
namespace App\Entity;
use App\Repository\JobEventsRepository;
use DateTime;
use DateTimeInterface;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=JobEventsRepository::class)
*/
class JobEvents
{
public const STATUS_TO_TREAT = 1;
public const STATUS_TREATMENT_IN_PROGRESS = 2;
public const STATUS_TREATED = 3;
public const STATUS_ERROR = 99;
public const STATUS_LABEL = [
self::STATUS_TO_TREAT => 'To treat',
self::STATUS_TREATMENT_IN_PROGRESS => 'Treatment in progress',
self::STATUS_TREATED => 'Treated',
self::STATUS_ERROR => 'Error',
];
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="integer")
*/
private $status;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $message;
/**
* @ORM\ManyToOne(targetEntity=Job::class, inversedBy="jobEvents")
* @ORM\JoinColumn(nullable=false)
*/
private $job;
/**
* @ORM\Column(type="datetime")
*/
private $createdAt;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $updatedAt;
/**
* @ORM\Column(type="json", nullable=true)
*/
private $errorTrace;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $errorMessage;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $errorScriptLog;
public function __construct()
{
$this->createdAt = new DateTime();
}
public function getId(): ?int
{
return $this->id;
}
public function getStatus(): ?int
{
return $this->status;
}
public function setStatus(int $status): self
{
$this->status = $status;
return $this;
}
public function getMessage(): ?string
{
return $this->message;
}
public function setMessage(?string $message): self
{
$this->message = $message;
return $this;
}
public function getJob(): ?Job
{
return $this->job;
}
public function setJob(?Job $job): self
{
$this->job = $job;
return $this;
}
public function getCreatedAt(): ?DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): ?DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(?DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getErrorTrace(): ?array
{
return $this->errorTrace;
}
public function setErrorTrace(?array $errorTrace): self
{
$this->errorTrace = $errorTrace;
return $this;
}
public function getErrorMessage(): ?string
{
return $this->errorMessage;
}
public function setErrorMessage(?string $errorMessage): self
{
$this->errorMessage = $errorMessage;
return $this;
}
public function getErrorScriptLog(): ?string
{
return $this->errorScriptLog;
}
public function setErrorScriptLog(?string $errorScriptLog): self
{
$this->errorScriptLog = $errorScriptLog;
return $this;
}
}