<?php
namespace App\Entity;
use ApiPlatform\Core\Annotation\ApiFilter;
use ApiPlatform\Core\Annotation\ApiResource;
use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter;
use App\Controller\Defavoriser;
use App\Controller\DefavoriserController;
use App\Controller\DefavoriserStatistique;
use App\Repository\FavorisRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
#[ORM\Entity(repositoryClass: FavorisRepository::class)]
#[ApiResource(
normalizationContext:[
'groups'=>['favoris:read']
],
collectionOperations:[
"post",
'get',
'get_defavoriser' => [
'method' => 'GET',
'path' => "favoris/defavoris",
'controller' => DefavoriserController::class,
'read' => false,
],
]
)]
#[ApiFilter(SearchFilter::class, properties: ['user' => 'exact'])]
class Favoris
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
#[Groups(['favoris:read'])]
private $id;
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(nullable: false)]
private $user;
#[ORM\ManyToOne(targetEntity: Pitch::class)]
#[Groups(['favoris:read'])]
private $pitch;
public function getId(): ?int
{
return $this->id;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getPitch(): ?Pitch
{
return $this->pitch;
}
public function setPitch(?Pitch $pitch): self
{
$this->pitch = $pitch;
return $this;
}
}