<?php
namespace App\Entity;
use ApiPlatform\Core\Annotation\ApiProperty;
use ApiPlatform\Core\Annotation\ApiResource;
use App\Repository\MatrixMovementRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=MatrixMovementRepository::class)
* @ApiResource(
* collectionOperations={"get","post"},
* itemOperations={"get","put","patch","delete"},
* normalizationContext={"groups"={"matrixMovement"}},
* denormalizationContext={"groups"={"matrixMovement"}},
* attributes={"pagination_enabled"=false}
* )
* @UniqueEntity("reference")
*/
class MatrixMovement
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
* @ApiProperty(identifier=false)
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Article::class)
* @ORM\JoinColumn(nullable=false)
* @Groups("matrixMovement")
*/
private $article;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $amount;
/**
* @ORM\Column(type="string", length=60, unique=true)
* @Groups("matrixMovement")
* @ApiProperty(identifier=true)
*/
private $reference;
/**
* @ORM\Column(type="string", length=60, nullable=true)
* @Groups("matrixMovement")
*/
private $matrixReference;
/**
* @ORM\Column(type="array", nullable=true)
* @Groups("matrixMovement")
*/
private $defaultPeriod = [];
/**
* @ORM\Column(type="array", nullable=true)
* @Groups("matrixMovement")
*/
private $vacationPeriod = [];
public function getId(): ?int
{
return $this->id;
}
public function getArticle(): ?Article
{
return $this->article;
}
public function setArticle(?Article $article): self
{
$this->article = $article;
return $this;
}
public function getAmount(): ?float
{
return $this->amount;
}
public function setAmount(float $amount): self
{
$this->amount = $amount;
return $this;
}
public function getReference(): ?string
{
return $this->reference;
}
public function setReference(string $reference): self
{
$this->reference = $reference;
return $this;
}
public function getMatrixReference(): ?string
{
return $this->matrixReference;
}
public function setMatrixReference(?string $matrixReference): self
{
$this->matrixReference = $matrixReference;
return $this;
}
public function getDefaultPeriod(): ?array
{
return $this->defaultPeriod;
}
public function setDefaultPeriod(?array $defaultPeriod): self
{
$this->defaultPeriod = $defaultPeriod;
return $this;
}
public function getVacationPeriod(): ?array
{
return $this->vacationPeriod;
}
public function setVacationPeriod(?array $vacationPeriod): self
{
$this->vacationPeriod = $vacationPeriod;
return $this;
}
}