src/Entity/Categoria.php line 51
<?phpnamespace App\Entity;use Symfony\Component\Serializer\Annotation\Groups;use Ramsey\Uuid\Uuid;use Doctrine\ORM\Mapping as ORM;use App\Trait\UuidTrait;use App\Trait\TimestampableTrait;use App\Trait\BlameableTrait;use App\State\CategoriaStateProcessor;use App\Repository\CategoriaRepository;use ApiPlatform\Metadata\Put;use ApiPlatform\Metadata\Post;use ApiPlatform\Metadata\Patch;use ApiPlatform\Metadata\GetCollection;use ApiPlatform\Metadata\Get;use ApiPlatform\Metadata\Delete;use ApiPlatform\Metadata\ApiResource;use ApiPlatform\Metadata\ApiFilter;use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;#[ORM\Entity(repositoryClass: CategoriaRepository::class)]#[ApiResource(operations: [new GetCollection(order: ['orden' => 'ASC']),new Post(validationContext: ['groups' => ['Default', 'categoria:create']], denormalizationContext: ['groups' => ['categoria:create']], processor: CategoriaStateProcessor::class),new Get(),new Patch(denormalizationContext: ['groups' => ['categoria:update', 'uuid']], processor: CategoriaStateProcessor::class),new Delete(processor: CategoriaStateProcessor::class),],normalizationContext: ['groups' => ['categoria:read', 'uuid']],)]#[ApiFilter(SearchFilter::class,properties: ['nombre' => 'exact','codigo' => 'exact'])]#[ApiFilter(OrderFilter::class,properties: ['nombre','codigo','orden'])]class Categoria{use TimestampableTrait;use BlameableTrait;use UuidTrait;#[ORM\Column(length: 255, nullable: true)]#[Groups(['categoria:read', 'categoria:create','categoria:update', 'producto:read', 'muestra:read'])]private ?string $codigo = null;#[ORM\Column(length: 255, nullable: true)]#[Groups(['categoria:read', 'categoria:create','categoria:update', 'producto:read','muestra:read', 'sesion:read'])]private ?string $nombre = null;#[ORM\Column(nullable: true)]#[Groups(['categoria:read', 'categoria:create','categoria:update', 'producto:read','muestra:read', 'sesion:read'])]private ?int $orden = null;#[ORM\ManyToOne]#[ORM\JoinColumn(nullable: false)]private ?Empresa $empresa = null;#[ORM\Column(length: 255, nullable: true)]#[Groups(['categoria:read', 'categoria:create', 'categoria:update', 'producto:read','muestra:read', 'sesion:read'])]private ?string $color = null;#[ORM\Column(nullable: true)]#[Groups(['categoria:read', 'categoria:create', 'categoria:update'])]private ?bool $core = null;public function __construct(){$this->uuid = Uuid::uuid4()->toString();}public function getCodigo(): ?string{return $this->codigo;}public function setCodigo(?string $codigo): static{$this->codigo = $codigo;return $this;}public function getNombre(): ?string{return $this->nombre;}public function setNombre(?string $nombre): static{$this->nombre = $nombre;return $this;}public function getOrden(): ?int{return $this->orden;}public function setOrden(?int $orden): static{$this->orden = $orden;return $this;}public function getEmpresa(): ?Empresa{return $this->empresa;}public function setEmpresa(?Empresa $empresa): static{$this->empresa = $empresa;return $this;}public function getColor(): ?string{return $this->color;}public function setColor(?string $color): static{$this->color = $color;return $this;}public function isCore(): ?bool{return $this->core;}public function setCore(?bool $core): static{$this->core = $core;return $this;}}