src/Entity/Expediting/DocumentationKit.php line 17
<?php
namespace App\Entity\Expediting;
use App\Doctrine\Type\Expediting\DocumentationKitStatus;
use App\Doctrine\Type\Expediting\TransitType;
use App\Dto\Expediting\DocumentationKitDatasheet;
use App\Entity\Common\Blameable;
use App\Entity\Common\Trackable;
use App\Validator\IsValidEnum\IsValidEnum;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
#[ORM\Table(name: 'expediting_shipment_documentation_kit')]
#[ORM\Entity]
class DocumentationKit
{
use Blameable;
use Trackable;
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
#[ORM\SequenceGenerator(sequenceName: 'expediting_shipment_documentation_kit_id_seq')]
#[ORM\Column(type: Types::INTEGER)]
private ?int $id = null;
#[Assert\NotNull]
#[ORM\ManyToOne(targetEntity: Shipment::class, inversedBy: 'documentationKits')]
#[ORM\JoinColumn(name: 'shipment_id', nullable: false)]
private ?Shipment $shipment = null;
#[Assert\NotNull]
#[IsValidEnum(enum: TransitType::class)]
#[ORM\Column(type: Types::STRING, enumType: TransitType::class)]
private ?TransitType $transitType = null;
#[Assert\NotNull]
#[IsValidEnum(enum: DocumentationKitStatus::class)]
#[ORM\Column(type: Types::STRING, enumType: DocumentationKitStatus::class, options: ['default' => 'DRAFTED'])]
private ?DocumentationKitStatus $status = DocumentationKitStatus::DRAFTED;
#[Assert\Type(type: DocumentationKitDatasheet::class)]
#[ORM\Column(type: 'json_document', nullable: true, options: ['jsonb' => true])]
private ?DocumentationKitDatasheet $data = null;
public function getId(): ?int
{
return $this->id;
}
public function getShipment(): ?Shipment
{
return $this->shipment;
}
public function setShipment(?Shipment $shipment): static
{
$this->shipment = $shipment;
return $this;
}
public function getTransitType(): ?TransitType
{
return $this->transitType;
}
public function setTransitType(?TransitType $transitType): static
{
$this->transitType = $transitType;
return $this;
}
public function getStatus(): ?DocumentationKitStatus
{
return $this->status;
}
public function setStatus(?DocumentationKitStatus $status): static
{
$this->status = $status;
return $this;
}
public function getData(): ?DocumentationKitDatasheet
{
return $this->data;
}
public function setData(?DocumentationKitDatasheet $data): static
{
$this->data = $data;
return $this;
}
}