From c74bdedf9bff2bd02b6265c74effb36615ac0bfb Mon Sep 17 00:00:00 2001 From: Matthieu Date: Thu, 12 Mar 2026 12:01:42 +0100 Subject: [PATCH] feat(piece) : add quantity field to MachinePieceLink entity + migration Co-Authored-By: Claude Opus 4.6 --- migrations/Version20260309150000.php | 26 ++++++++++++++++++++++++++ src/Entity/MachinePieceLink.php | 17 +++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 migrations/Version20260309150000.php diff --git a/migrations/Version20260309150000.php b/migrations/Version20260309150000.php new file mode 100644 index 0000000..1616c78 --- /dev/null +++ b/migrations/Version20260309150000.php @@ -0,0 +1,26 @@ +addSql('ALTER TABLE machine_piece_links ADD COLUMN IF NOT EXISTS quantity INTEGER NOT NULL DEFAULT 1'); + } + + public function down(Schema $schema): void + { + $this->addSql('ALTER TABLE machine_piece_links DROP COLUMN IF EXISTS quantity'); + } +} diff --git a/src/Entity/MachinePieceLink.php b/src/Entity/MachinePieceLink.php index 54c8e39..efccb14 100644 --- a/src/Entity/MachinePieceLink.php +++ b/src/Entity/MachinePieceLink.php @@ -18,6 +18,7 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping as ORM; +use Symfony\Component\Validator\Constraints as Assert; #[ORM\Entity(repositoryClass: MachinePieceLinkRepository::class)] #[ORM\Table(name: 'machine_piece_links')] @@ -68,6 +69,10 @@ class MachinePieceLink #[ORM\Column(type: Types::DECIMAL, precision: 10, scale: 2, nullable: true, name: 'prixOverride')] private ?string $prixOverride = null; + #[ORM\Column(type: Types::INTEGER, options: ['default' => 1])] + #[Assert\GreaterThanOrEqual(1)] + private int $quantity = 1; + #[ORM\Column(type: Types::DATETIME_IMMUTABLE, name: 'createdAt')] private DateTimeImmutable $createdAt; @@ -152,4 +157,16 @@ class MachinePieceLink return $this; } + + public function getQuantity(): int + { + return $this->quantity; + } + + public function setQuantity(int $quantity): static + { + $this->quantity = $quantity; + + return $this; + } }