src/Domain/Entity/PersonPointOfInterest.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\Domain\Entity;
  3. use ApiPlatform\Metadata\ApiResource;
  4. use ApiPlatform\Metadata\Delete;
  5. use ApiPlatform\Metadata\Post;
  6. use App\Domain\Entity\Behavior\Identifiable;
  7. use Gedmo\Timestampable\Traits\Timestampable;
  8. /**
  9.  * Class PersonPointOfInterest
  10.  *
  11.  * @package App\Domain\Entity
  12.  */
  13. #[ApiResource(
  14.     operations            : [
  15.         new Delete(
  16.             uriTemplate'/person_point_of_interest/{uuid}',
  17.             security   "is_granted('ROLE_ADMIN') or object.person.id == user.id"
  18.         ),
  19.         new Post(uriTemplate'/person_point_of_interest'),
  20.     ],
  21.     normalizationContext  : ['groups' => ['person_point_of_interest_read']],
  22.     denormalizationContext: ['groups' => ['person_point_of_interest_write']],
  23.     order                 : ['createAd' => 'DESC']
  24. )]
  25. class PersonPointOfInterest
  26. {
  27.     use Identifiable;
  28.     use Timestampable;
  29.     public function __construct(
  30.         public Person $person,
  31.         public PointOfInterest $pointOfInterest,
  32.         public ?\DateTime $zhistUpdate null
  33.     ) {
  34.     }
  35. }