Cotisation.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. * Security :
  14. * * @see App\Security\Voter\CotisationVoter
  15. */
  16. #[ApiResource(operations: [
  17. new Get(
  18. uriTemplate: '/cotisations/{organizationId}',
  19. security: 'is_granted("ROLE_COTISATION", object) and object.getOrganizationId() == user.getOrganization().getId()',
  20. provider: CotisationProvider::class
  21. )
  22. ])]
  23. class Cotisation implements ApiResourcesInterface
  24. {
  25. #[ApiProperty(identifier: true)]
  26. private int $organizationId;
  27. #[Assert\Choice(callback: ['\\App\\Enum\\Cotisation\\AlertStateEnum', 'toArray'], message: 'invalid-alert-state-enum')]
  28. private ?string $alertState = null;
  29. private ?int $cotisationYear = null;
  30. public function getOrganizationId(): ?int
  31. {
  32. return $this->organizationId;
  33. }
  34. public function setOrganizationId(?int $organizationId): self
  35. {
  36. $this->organizationId = $organizationId;
  37. return $this;
  38. }
  39. public function getAlertState(): ?string
  40. {
  41. return $this->alertState;
  42. }
  43. public function setAlertState(?string $alertState): self
  44. {
  45. $this->alertState = $alertState;
  46. return $this;
  47. }
  48. public function getCotisationYear(): ?int
  49. {
  50. return $this->cotisationYear;
  51. }
  52. public function setCotisationYear(?int $cotisationYear): self
  53. {
  54. $this->cotisationYear = $cotisationYear;
  55. return $this;
  56. }
  57. }