| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace App\Entity\Billing;
- use ApiPlatform\Core\Annotation\ApiResource;
- use App\Annotation\BillingSettingDefaultValue;
- use App\Repository\Billing\ResidenceAreaRepository;
- use Doctrine\ORM\Mapping as ORM;
- /**
- * Zone de résidence d'un Access, telle que définie par l'Organization
- */
- #[ApiResource(
- collectionOperations: [
- "get" => ["security" => "is_granted('ROLE_ORGANIZATION_VIEW')"],
- "post"
- ],
- itemOperations: [
- "get" => ["security" => "is_granted('ROLE_ORGANIZATION_VIEW') and object.getBillingSetting().getOrganization().getId() == user.getOrganization().getId()"],
- "put" => ["security" => "object.getBillingSetting().getOrganization().getId() == user.getOrganization().getId()"],
- "delete" => ["security" => "object.getBillingSetting().getOrganization().getId() == user.getOrganization().getId()"],
- ],
- attributes: ["security" => "is_granted('ROLE_ORGANIZATION')"]
- )]
- #[BillingSettingDefaultValue(fieldName: "billingSetting")]
- #[ORM\Entity(repositoryClass: ResidenceAreaRepository::class)]
- class ResidenceArea
- {
- #[ORM\Id]
- #[ORM\Column]
- #[ORM\GeneratedValue]
- private ?int $id = null;
- #[ORM\ManyToOne(inversedBy: 'residenceAreas')]
- private BillingSetting $billingSetting;
- #[ORM\Column(length: 255)]
- private string $label;
- public function getId(): ?int
- {
- return $this->id;
- }
- public function getLabel(): string
- {
- return $this->label;
- }
- public function setLabel(string $label){
- $this->label = $label;
- return $this;
- }
- public function getBillingSetting(): BillingSetting
- {
- return $this->billingSetting;
- }
- public function setBillingSetting(BillingSetting $billingSetting): self
- {
- $this->billingSetting = $billingSetting;
- return $this;
- }
- }
|