src/Entity/OperationCode/OdrCode.php line 54

Open in your IDE?
  1. <?php
  2. namespace App\Entity\OperationCode;
  3. use App\Entity\Operation\Odr as OperationOdr;
  4. use ApiPlatform\Core\Annotation\ApiResource;
  5. use App\Entity\Participation\Odr as ParticipationOdr;
  6. use App\Repository\OperationCode\OdrCodeRepository;
  7. use App\Controller\Api\OperationCode\OdrCode\GetOdrCodeByParticipationId;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use Symfony\Component\Serializer\Annotation\SerializedName;
  10. /**
  11.  * @ApiResource(
  12.  *       attributes={
  13.  *            "normalization_context"={
  14.  *                "groups"={
  15.  *                    "OdrCode:output",
  16.  *                    "OdrCode:io",
  17.  *                    "get_code_odr_by_participation_id",
  18.  *                 },
  19.  *            },
  20.  *            "denormalization_context"={
  21.  *                "groups"={
  22.  *                    "OdrCode:output",
  23.  *                    "OdrCode:io",
  24.  *                    "get_code_odr_by_participation_id",
  25.  *                 },
  26.  *            }
  27.  *        },
  28.  *       collectionOperations={
  29.  *            "get"={
  30.  *                "method"="GET",
  31.  *                "access_control"="is_granted('ROLE_USER')",
  32.  *            },
  33.  *       },
  34.  *       itemOperations={
  35.  *            "get"={
  36.  *                "method"="GET",
  37.  *                "access_control"="is_granted('ROLE_USER')",
  38.  *            },
  39.  *            "get"={
  40.  *               "method"="GET",
  41.  *               "path"="/odr-codes/participation-odr/{id}",
  42.  *               "access_control"="is_granted('ROLE_USER')",
  43.  *               "validation_groups"={"get_code_odr_by_participation_id"},
  44.  *               "controller"=GetOdrCodeByParticipationId::class,
  45.  *               "defaults"={"_api_receive"=false},
  46.  *           },
  47.  *        }
  48.  *   )
  49.  * @ORM\Entity(repositoryClass=OdrCodeRepository::class)
  50.  */
  51. class OdrCode extends OperationCode
  52. {
  53.     /**
  54.      * @ORM\ManyToOne(targetEntity=OperationOdr::class)
  55.      * @ORM\JoinColumn(name="operation_id")
  56.      * @SerializedName("operation")
  57.      */
  58.     private OperationOdr $operation;
  59.     /**
  60.      * @ORM\ManyToOne(targetEntity=ParticipationOdr::class, inversedBy="operationCodes")
  61.      * @ORM\JoinColumn(name="participation_id", nullable=true)
  62.      * @SerializedName("participation")
  63.      */
  64.     private ?ParticipationOdr $participation;
  65.     public function getOperation(): OperationOdr
  66.     {
  67.         return $this->operation;
  68.     }
  69.     public function setOperation(OperationOdr $operation): OdrCode
  70.     {
  71.         $this->operation $operation;
  72.         return $this;
  73.     }
  74.     public function getParticipation(): ?ParticipationOdr
  75.     {
  76.         return $this->participation;
  77.     }
  78.     public function setParticipation(?ParticipationOdr $participation): self
  79.     {
  80.         $this->participation $participation;
  81.         return $this;
  82.     }
  83. }