src/Domain/Entity/LogGps.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Domain\Entity;
  3. use ApiPlatform\Metadata\ApiResource;
  4. use ApiPlatform\Metadata\Post;
  5. use App\Application\Controller\Api\LogGps\LogGpsAction;
  6. use App\Domain\Entity\Behavior\Identifiable;
  7. use Gedmo\Timestampable\Traits\Timestampable;
  8. use Symfony\Component\Serializer\Annotation\Groups;
  9. #[ApiResource(
  10.     operations: [
  11.         new Post(
  12.             uriTemplate'/log_gps',
  13.             controller LogGpsAction::class,
  14.             security   "is_granted('ROLE_USER')",
  15.             deserializefalse,
  16.             serialize  false,
  17.         ),
  18.     ],
  19.     normalizationContext: ['groups' => ['log_gps_read']],
  20.     denormalizationContext: ['groups' => ['log_gps_write']],
  21. )]
  22. /**
  23.  * Class Log
  24.  *
  25.  * @package App\Domain\Entity
  26.  */
  27. class LogGps
  28. {
  29.     use Identifiable;
  30.     use Timestampable;
  31.     public const READ_SCREEN 'read_screen';
  32.     public const ITINERARY_INFORMATIONS 'itinerary_informations';
  33.     public const ITINERARY_DURATION 'itinerary_duration';
  34.     public const ITINERARY_ALTERNATIVE_NUMBER 'itinerary_alternative_number';
  35.     #[Groups(['log_gps_read''log_gps_write'])]
  36.     public string $action;
  37.     #[Groups(['log_gps_read''log_gps_write'])]
  38.     public ?Person $author;
  39.     #[Groups(['log_gps_read''log_gps_write'])]
  40.     public ?string $data;
  41.     public function __construct(
  42.         string $action,
  43.         ?Person $author null,
  44.         ?string $data null
  45.     ) {
  46.         $this->action $action;
  47.         $this->author $author;
  48.         $this->data $data;
  49.     }
  50. }