Cotisation.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. declare (strict_types=1);
  3. namespace App\ApiResources\Cotisation;
  4. use ApiPlatform\Metadata\Get;
  5. use ApiPlatform\Metadata\ApiResource;
  6. use ApiPlatform\Metadata\ApiProperty;
  7. use App\ApiResources\ApiResourcesInterface;
  8. use App\State\Provider\Cotisation\CotisationProvider;
  9. use Symfony\Component\Validator\Constraints as Assert;
  10. /**
  11. * Classe resource qui contient les informations des cotisations de la 5.9
  12. */
  13. #[ApiResource(
  14. operations: [
  15. new Get(
  16. uriTemplate: '/cotisations/{organizationId}',
  17. security: 'is_granted("ROLE_COTISATION", object) and object.getOrganizationId() == user.getOrganization().getId()',
  18. provider: CotisationProvider::class
  19. )
  20. ]
  21. )]
  22. class Cotisation implements ApiResourcesInterface
  23. {
  24. #[ApiProperty(identifier: true)]
  25. private int $organizationId;
  26. #[Assert\Choice(callback: ['\\App\\Enum\\Cotisation\\AlertStateEnum', 'toArray'], message: 'invalid-alert-state-enum')]
  27. private ?string $alertState = null;
  28. private ?int $cotisationYear = null;
  29. public function getOrganizationId(): ?int
  30. {
  31. return $this->organizationId;
  32. }
  33. public function setOrganizationId(?int $organizationId): self
  34. {
  35. $this->organizationId = $organizationId;
  36. return $this;
  37. }
  38. public function getAlertState(): ?string
  39. {
  40. return $this->alertState;
  41. }
  42. public function setAlertState(?string $alertState): self
  43. {
  44. $this->alertState = $alertState;
  45. return $this;
  46. }
  47. public function getCotisationYear(): ?int
  48. {
  49. return $this->cotisationYear;
  50. }
  51. public function setCotisationYear(?int $cotisationYear): self
  52. {
  53. $this->cotisationYear = $cotisationYear;
  54. return $this;
  55. }
  56. }