src/Evo/Infrastructure/MappingORM/ActivityDomain.php line 32

Open in your IDE?
  1. <?php
  2. namespace Evo\Infrastructure\MappingORM;
  3. use ApiPlatform\Core\Annotation\ApiFilter;
  4. use ApiPlatform\Core\Annotation\ApiResource;
  5. use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter;
  6. use App\Repository\ActivityDomainRepository;
  7. use Doctrine\Common\Collections\ArrayCollection;
  8. use Doctrine\Common\Collections\Collection;
  9. use Doctrine\ORM\Mapping as ORM;
  10. use Symfony\Component\Serializer\Annotation\Groups;
  11. /**
  12.  * @ApiResource(
  13.  *     denormalizationContext={"groups"={"write_activity_domain"}},
  14.  *     normalizationContext={"groups"={"read_activity_domain", "read_activity_one"}, "enable_max_depth"=true},
  15.  *     cacheHeaders={"max_age"=86400, "shared_max_age"=86400},
  16.  *     collectionOperations={
  17.  *         "get",
  18.  *         "post",
  19.  *         "activity_domain_all"={
  20.  *             "method"="GET",
  21.  *             "path"="/activity_domains/all"
  22.  *         }
  23.  *     },
  24.  *     itemOperations={"get", "put"}
  25.  * )
  26.  * @ApiFilter(SearchFilter::class, properties={"label": "partial", "code": "partial"})
  27.  * @ORM\Entity(repositoryClass=ActivityDomainRepository::class)
  28.  */
  29. class ActivityDomain
  30. {
  31.     /**
  32.      * @Groups({"write_activity_domain", "read_activity_domain", "read_activity_one"})
  33.      * @ORM\Id
  34.      * @ORM\GeneratedValue
  35.      * @ORM\Column(type="integer")
  36.      */
  37.     private ?int $id null;
  38.     /**
  39.      * @Groups({"write_activity_domain", "read_activity_domain", "read_activity_one"})
  40.      * @ORM\Column(type="string", length=255, nullable=true)
  41.      */
  42.     private ?string $label null;
  43.     /**
  44.      * @Groups({"write_activity_domain", "read_activity_domain", "read_activity_one"})
  45.      * @ORM\Column(type="string", length=255, nullable=true)
  46.      */
  47.     private ?string $code null;
  48.     /**
  49.      * @Groups({"write_activity_domain", "read_activity_domain", "read_activity_one"})
  50.      * @ORM\OneToMany(targetEntity=ActivitySubdomain::class, mappedBy="activityDomain")
  51.      */
  52.     private ?Collection $actFieldDetails;
  53.     /**
  54.      * @ORM\OneToMany(targetEntity=Organization::class, mappedBy="activityDomain")
  55.      */
  56.     private ?Collection $organizations;
  57.     public function __construct()
  58.     {
  59.         $this->actFieldDetails = new ArrayCollection();
  60.         $this->organizations = new ArrayCollection();
  61.     }
  62.     public function getId(): ?int
  63.     {
  64.         return $this->id;
  65.     }
  66.     public function getLabel(): ?string
  67.     {
  68.         return $this->label;
  69.     }
  70.     public function setLabel(?string $label): self
  71.     {
  72.         $this->label $label;
  73.         return $this;
  74.     }
  75.     public function getCode(): ?string
  76.     {
  77.         return $this->code;
  78.     }
  79.     public function setCode(?string $code): self
  80.     {
  81.         $this->code $code;
  82.         return $this;
  83.     }
  84.     /**
  85.      * @return Collection<int, ActivitySubdomain>
  86.      */
  87.     public function getActFieldDetails(): Collection
  88.     {
  89.         return $this->actFieldDetails;
  90.     }
  91.     public function addActFieldDetail(ActivitySubdomain $actFieldDetail): self
  92.     {
  93.         if (!$this->actFieldDetails->contains($actFieldDetail)) {
  94.             $this->actFieldDetails[] = $actFieldDetail;
  95.             $actFieldDetail->setActivityDomain($this);
  96.         }
  97.         return $this;
  98.     }
  99.     public function removeActFieldDetail(ActivitySubdomain $actFieldDetail): self
  100.     {
  101.         // set the owning side to null (unless already changed)
  102.         if ($this->actFieldDetails->removeElement($actFieldDetail) && $actFieldDetail->getActivityDomain() === $this) {
  103.             $actFieldDetail->setActivityDomain(null);
  104.         }
  105.         return $this;
  106.     }
  107.     /**
  108.      * @return Collection<int, Organization>
  109.      */
  110.     public function getOrganizations(): Collection
  111.     {
  112.         return $this->organizations;
  113.     }
  114.     public function addOrganization(Organization $organization): self
  115.     {
  116.         if (!$this->organizations->contains($organization)) {
  117.             $this->organizations[] = $organization;
  118.             $organization->setActivityDomain($this);
  119.         }
  120.         return $this;
  121.     }
  122.     public function removeOrganization(Organization $organization): self
  123.     {
  124.         // set the owning side to null (unless already changed)
  125.         if ($this->organizations->removeElement($organization) && $organization->getActivityDomain() === $this) {
  126.             $organization->setActivityDomain(null);
  127.         }
  128.         return $this;
  129.     }
  130. }