RegistrationAvailability.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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\State\Provider\OnlineRegistration\RegistrationAvailabilityProvider;
  8. #[ApiResource(
  9. operations: [
  10. new Get(
  11. uriTemplate: '/online_registration/availability/{accessId}',
  12. requirements: ['accessId' => '\\d+'],
  13. defaults: ['accessId' => 0],
  14. provider: RegistrationAvailabilityProvider::class
  15. )
  16. ]
  17. )]
  18. class RegistrationAvailability implements ApiResourcesInterface
  19. {
  20. #[ApiProperty(identifier: true)]
  21. private int $accessId;
  22. private bool $available;
  23. private ?string $message = null;
  24. public function getAccessId(): int
  25. {
  26. return $this->accessId;
  27. }
  28. public function setAccessId(int $accessId): void
  29. {
  30. $this->accessId = $accessId;
  31. }
  32. public function isAvailable(): bool
  33. {
  34. return $this->available;
  35. }
  36. public function setAvailable(bool $available): void
  37. {
  38. $this->available = $available;
  39. }
  40. public function getMessage(): ?string
  41. {
  42. return $this->message;
  43. }
  44. public function setMessage(?string $message): void
  45. {
  46. $this->message = $message;
  47. }
  48. }