RegistrationStatus.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\ApiResources\OnlineRegistration;
  3. use ApiPlatform\Metadata\ApiProperty;
  4. use ApiPlatform\Metadata\ApiResource;
  5. use ApiPlatform\Metadata\Get;
  6. use App\ApiResources\ApiResourcesInterface;
  7. use App\Enum\OnlineRegistration\RegistrationStatusEnum;
  8. use App\State\Provider\OnlineRegistration\RegistrationStatusProvider;
  9. use Symfony\Component\Serializer\Annotation\Groups;
  10. use Symfony\Component\Validator\Constraints as Assert;
  11. #[ApiResource(
  12. operations: [
  13. new Get(
  14. uriTemplate: '/online_registration/status/{accessId}',
  15. requirements: ['accessId' => '\\d+'],
  16. defaults: ['accessId' => 0],
  17. provider: RegistrationStatusProvider::class
  18. )
  19. ]
  20. )]
  21. class RegistrationStatus implements ApiResourcesInterface
  22. {
  23. #[ApiProperty(identifier: true)]
  24. private int $accessId;
  25. #[Assert\Type(type: RegistrationStatusEnum::class)]
  26. private ?RegistrationStatusEnum $status = null;
  27. public function getAccessId(): int
  28. {
  29. return $this->accessId;
  30. }
  31. public function setAccessId(int $accessId): void
  32. {
  33. $this->accessId = $accessId;
  34. }
  35. public function getStatus(): ?RegistrationStatusEnum
  36. {
  37. return $this->status;
  38. }
  39. public function setStatus(?RegistrationStatusEnum $status): void
  40. {
  41. $this->status = $status;
  42. }
  43. }