<?php
namespace App\Entity;
use App\Repository\SupportRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[
ORM\Entity(repositoryClass: SupportRepository::class),
ORM\Table(name: 'support'),
ORM\HasLifecycleCallbacks,
]
class Support
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(type: Types::TEXT)]
private ?string $description = null;
#[ORM\Column(type: Types::TEXT)]
private ?string $actions_realized = null;
#[ORM\Column(type: Types::TEXT)]
private ?string $url = null;
#[ORM\Column(type: Types::DATE_MUTABLE)]
private ?\DateTimeInterface $date_time = null;
#[ORM\Column(type: Types::BOOLEAN)]
private bool $is_blocking = false;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $expected_actions = null;
#[ORM\Column(type: Types::DATE_IMMUTABLE)]
private \DateTimeInterface $created_at;
#[ORM\Column(type: Types::DATE_IMMUTABLE)]
private \DateTimeInterface $updated_at;
#[ORM\ManyToOne(inversedBy: 'supports')]
#[ORM\JoinTable(name: 'customer_information_id')]
private ?CustomerInformation $customer_information = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $blocking_description = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
private ?\DateTimeInterface $blocking_deadline = null;
#[ORM\Column(length: 255, nullable: true)]
private ?string $another_details = null;
public function __construct()
{
$this->created_at = (new \DateTime())->setTime(0, 0, 0);
$this->updated_at = (new \DateTime())->setTime(0, 0, 0);
}
public function getId(): ?int
{
return $this->id;
}
public function getDescription(): ?string
{
return $this->description;
}
public function setDescription(string $description): self
{
$this->description = $description;
return $this;
}
public function getActionsRealized(): ?string
{
return $this->actions_realized;
}
public function setActionsRealized(string $actions_realized): self
{
$this->actions_realized = $actions_realized;
return $this;
}
public function getUrl(): ?string
{
return $this->url;
}
public function setUrl(string $url): self
{
$this->url = $url;
return $this;
}
public function getDateTime(): ?\DateTimeInterface
{
return $this->date_time;
}
public function setDateTime(\DateTimeInterface $date_time): self
{
$this->date_time = $date_time;
return $this;
}
public function getIsBlocking(): bool
{
return $this->is_blocking;
}
public function setIsBlocking(bool $is_blocking): self
{
$this->is_blocking = $is_blocking;
return $this;
}
public function getExpectedActions(): ?string
{
return $this->expected_actions;
}
public function setExpectedActions(?string $expected_actions): self
{
$this->expected_actions = $expected_actions;
return $this;
}
public function getCreated_at(): \DateTimeInterface
{
return $this->created_at;
}
public function getUpdated_at(): \DateTimeInterface
{
return $this->updated_at;
}
public function setUpdated_at(\DateTimeInterface $updated_at): self
{
$this->updated_at = $updated_at;
return $this;
}
#[ORM\PreUpdate]
public function preUpdate(): void
{
$this->updated_at = new \DateTime();
}
public function getCustomerInformation(): ?CustomerInformation
{
return $this->customer_information;
}
public function setCustomerInformation(?CustomerInformation $customer_information): self
{
$this->customer_information = $customer_information;
return $this;
}
public function getBlockingDescription(): ?string
{
return $this->blocking_description;
}
public function setBlockingDescription(?string $blocking_description): self
{
$this->blocking_description = $blocking_description;
return $this;
}
public function getBlockingDeadline(): ?\DateTimeInterface
{
return $this->blocking_deadline;
}
public function setBlockingDeadline(?\DateTimeInterface $blocking_deadline): self
{
$this->blocking_deadline = $blocking_deadline;
return $this;
}
public function getAnotherDetails(): ?string
{
return $this->another_details;
}
public function setAnotherDetails(?string $another_details): self
{
$this->another_details = $another_details;
return $this;
}
}