<?phpnamespace App\Entity;use App\Enum\QueueTask\Status;use App\Repository\QueueTaskRepository;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=QueueTaskRepository::class) */class QueueTask{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="enum", options={"values"="queue_task_enum"}) */ private $status = Status::STATUS_NEW; /** * @ORM\Column(type="datetime") */ private $createdAt; /** * @ORM\Column(type="text", nullable=true) */ private $error; public function __construct() { $this->createdAt = new \DateTime(); } public function getId(): ?int { return $this->id; } public function getStatus() { return $this->status; } public function setStatus($status): self { $this->status = $status; return $this; } public function getCreatedAt(): ?\DateTimeInterface { return $this->createdAt; } public function setCreatedAt(\DateTimeInterface $createdAt): self { $this->createdAt = $createdAt; return $this; } public function isStatusTtlExceeded(): bool { return $this->getStatus() === Status::STATUS_TTL_EXCEEDED; } public function isStatusError(): bool { return $this->getStatus() === Status::STATUS_ERROR; } public function isStatusProcessing(): bool { return $this->getStatus() === Status::STATUS_PROCESSING; } public function isStatusCompleted(): bool { return $this->getStatus() === Status::STATUS_COMPLETED; } public function isStatusNew(): bool { return $this->getStatus() === Status::STATUS_NEW; } public function getError(): ?string { return $this->error; } public function setError(?string $error): self { $this->error = $error; return $this; }}