<?php
namespace App\Entity\Purse;
use ApiPlatform\Core\Annotation\ApiResource;
use App\Controller\Api\Item\Puntos\CountPuntosGodparent;
use App\Entity\Catalog\Order;
use App\Repository\Purse\ItemRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ApiResource(
* attributes={
* "normalization_context"={"groups"={"Purse:io","Purse:output"}},
* "denormalization_context"={"groups"={"Purse:io","Purse:input"}}
* },
* collectionOperations={
* "get"={
* "method"="GET",
* "access_control"="is_granted('ROLE_USER')",
* },
* },
* itemOperations={
* "get"={
* "method"="GET",
* "access_control"="is_granted('ROLE_USER')",
* },
* "count-puntos-godparent"={
* "method"="GET",
* "path"="/count-puntos-godparent",
* "access_control"="is_granted('ROLE_USER')",
* "controller"=CountPuntosGodparent::class,
* "defaults"={"_api_receive"=false},
* },
* }
* )
* @ORM\Entity(repositoryClass=ItemRepository::class)
*/
class ItemPuntos extends Item
{
/**
* @var Order
* @ORM\ManyToOne(targetEntity=Order::class, inversedBy="items")
* @ORM\JoinColumn(nullable=true, name="burner_id")
* @Groups({
* "get_order_by_user",
* "Order:output",
* })
*/
private $order;
/**
* @var string
* @ORM\Column(type="string", nullable=true)
*/
private $class;
/**
* @return Order
*/
public function getOrder(): Order
{
return $this->order;
}
/**
* @param Order $order
* @return ItemPuntos
*/
public function setOrder(Order $order): ItemPuntos
{
$this->class = Order::class;
$this->order = $order;
return $this;
}
}