<?phpdeclare(strict_types=1);namespace App\Supplier\Doctrine\Entity;use DateTime;use Doctrine\ORM\Mapping\Column;use Doctrine\ORM\Mapping\Entity;use Doctrine\ORM\Mapping\GeneratedValue;use Doctrine\ORM\Mapping\Id;use Doctrine\ORM\Mapping\Index;use Doctrine\ORM\Mapping\JoinColumn;use Doctrine\ORM\Mapping\ManyToOne;use Doctrine\ORM\Mapping\Table;#[Entity]#[Table(name: '`supplier_product`')]#[Index(columns: ['reference'], name: 'reference')]#[Index(columns: ['new', 'supplier_id'], name: 'new_supplier_id')]class Product{ #[Id] #[Column(type: 'integer')] #[GeneratedValue] private ?int $id = null; #[ManyToOne(targetEntity: Supplier::class)] #[JoinColumn(nullable:false)] private Supplier $supplier; #[Column] private string $reference; #[Column] private string $name; #[Column(type: 'text')] private string $description; #[Column(nullable: true, type: 'text')] private ?string $image = null; #[Column] private string $brand; #[Column] private string $taxonomy; #[Column] private int $purchasePrice; #[Column] private int $retailPrice; #[Column(type: 'integer', options: ['default' => 0])] private int $shippingCosts; #[Column] private int $ecoTax; #[Column] private float $vatRate; #[Column] private int $stock = 0; #[Column] private bool $new = false; #[Column(type: 'datetime', nullable: true)] private ?DateTime $creationDate = null; #[Column(nullable: true)] private string $shippingMode; public function getId(): ?int { return $this->id; } public function getSupplier(): Supplier { return $this->supplier; } public function setSupplier(Supplier $supplier): void { $this->supplier = $supplier; } public function getReference(): string { return $this->reference; } public function setReference(string $reference): void { $this->reference = $reference; } public function getName(): string { return $this->name; } public function setName(string $name): void { $this->name = $name; } public function getDescription(): string { return $this->description; } public function setDescription(string $description): void { $this->description = $description; } public function getImage(): ?string { return $this->image; } public function setImage(?string $image): void { $this->image = $image; } public function getBrand(): string { return $this->brand; } public function setBrand(string $brand): void { $this->brand = $brand; } public function getTaxonomy(): string { return $this->taxonomy; } public function setTaxonomy(string $taxonomy): void { $this->taxonomy = $taxonomy; } public function getPurchasePrice(): int { return $this->purchasePrice; } public function setPurchasePrice(int $purchasePrice): void { $this->purchasePrice = $purchasePrice; } public function getRetailPrice(): int { return $this->retailPrice; } public function setRetailPrice(int $retailPrice): void { $this->retailPrice = $retailPrice; } public function getShippingCosts(): int { return $this->shippingCosts; } public function setShippingCosts(int $shippingCosts): void { $this->shippingCosts = $shippingCosts; } public function getEcoTax(): int { return $this->ecoTax; } public function setEcoTax(int $ecoTax): void { $this->ecoTax = $ecoTax; } public function getVatRate(): float { return $this->vatRate; } public function setVatRate(float $vatRate): void { $this->vatRate = $vatRate; } public function getStock(): int { return $this->stock; } public function setStock(int $stock): void { $this->stock = $stock; } public function isNew(): bool { return $this->new; } public function setNew(bool $new): void { $this->new = $new; } public function getCreationDate(): ?DateTime { return $this->creationDate; } public function setCreationDate(?DateTime $creationDate): void { $this->creationDate = $creationDate; } public function getShippingMode(): ?string { return $this->shippingMode; } public function setShippingMode(?string $shippingMode): void { $this->shippingMode = $shippingMode; } public function getReferenceComm(): ?string { return $this->referenceComm; } public function setReferenceComm(?string $referenceComm): void { $this->referenceComm = $referenceComm; }}