src/Entity/UserModulePermissions.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\UserModulePermissionsRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\Common\Collections\Selectable;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use phpDocumentor\Reflection\Types\This;
  9. use Symfony\Component\Serializer\Annotation\Groups;
  10. use Doctrine\ORM\Mapping\UniqueConstraint;
  11. /**
  12.  * @ORM\Entity(repositoryClass=UserModulePermissionsRepository::class)
  13.  * @ORM\Table(name="user_module_permissions", uniqueConstraints={
  14.  *     @UniqueConstraint(name="user_unique_right", columns={"user_id", "access_module_id"})
  15.  * })
  16.  */
  17. class UserModulePermissions
  18. {
  19.     /**
  20.      * @ORM\Id
  21.      * @ORM\GeneratedValue
  22.      * @ORM\Column(type="integer")
  23.      * @Groups({
  24.      *     "user.right.core",
  25.      *     "user_right@core",
  26.      *     "user_right@open_api",
  27.      *
  28.      *     "user_permission@core",
  29.      * })
  30.      */
  31.     private $id;
  32.     /**
  33.      * @ORM\ManyToOne(targetEntity=AccessModules::class, inversedBy="user_module_permissions")
  34.      * @Groups({
  35.      *     "user.right.module.ref",
  36.      *     "user_right@module",
  37.      *
  38.      *     "user_permission@access_module",
  39.      * })
  40.      * @ORM\JoinColumn(onDelete="CASCADE")
  41.      */
  42.     private $access_module;
  43.     /**
  44.      * Read
  45.      * @ORM\Column(type="boolean", nullable=true)
  46.      * @Groups({
  47.      *     "user.right.core",
  48.      *     "user_right@core",
  49.      *     "user_right@open_api",
  50.      *
  51.      *     "user_permission@core",
  52.      * })
  53.      */
  54.     private $r;
  55.     /**
  56.      * Create
  57.      * @ORM\Column(type="boolean", nullable=true)
  58.      * @Groups({
  59.      *     "user.right.core",
  60.      *     "user_right@core",
  61.      *
  62.      *     "user_right@open_api",
  63.      *
  64.      *     "user_permission@core",
  65.      *  })
  66.      */
  67.     private $c;
  68.     /**
  69.      * Update
  70.      * @ORM\Column(type="boolean", nullable=true)
  71.      * @Groups({
  72.      *      "user.right.core",
  73.      *      "user_right@core",
  74.      *     "user_right@open_api",
  75.      *
  76.      *     "user_permission@core",
  77.      *  })
  78.      */
  79.     private $u;
  80.     /**
  81.      * Delete
  82.      * @ORM\Column(type="boolean", nullable=true)
  83.      * @Groups({
  84.      *      "user.right.core",
  85.      *      "user_right@core",
  86.      *     "user_right@open_api",
  87.      *
  88.      *     "user_permission@core",
  89.      *  })
  90.      */
  91.     private $d;
  92.     /**
  93.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="user_module_permissions")
  94.      * @ORM\JoinColumn(onDelete="CASCADE")
  95.      */
  96.     private $user;
  97.     /**
  98.      * @ORM\OneToMany(targetEntity=UserModuleSectionPermissions::class, mappedBy="user_module_permissions", orphanRemoval=true, cascade={"persist"})
  99.      * @Groups({
  100.      *     "user.right.module.section.rights",
  101.      *     "user_right@user_right_module_section_rights",
  102.      *
  103.      *     "user_permission@section_permissions",
  104.      * })
  105.      */
  106.     private $user_module_section_permissions;
  107.     public function __construct()
  108.     {
  109.         $this->user_module_section_permissions = new ArrayCollection();
  110.     }
  111.     public function getId(): ?int
  112.     {
  113.         return $this->id;
  114.     }
  115.     public function isC(): ?bool
  116.     {
  117.         return $this->c;
  118.     }
  119.     public function setC(?bool $c): self
  120.     {
  121.         $this->$c;
  122.         return $this;
  123.     }
  124.     public function isU(): ?bool
  125.     {
  126.         return $this->u;
  127.     }
  128.     public function setU(?bool $u): self
  129.     {
  130.         $this->$u;
  131.         return $this;
  132.     }
  133.     public function isD(): ?bool
  134.     {
  135.         return $this->d;
  136.     }
  137.     public function setD(?bool $d): self
  138.     {
  139.         $this->$d;
  140.         return $this;
  141.     }
  142.     public function getAccessModule(): ?AccessModules
  143.     {
  144.         return $this->access_module;
  145.     }
  146.     public function setAccessModule(?AccessModules $access_module): self
  147.     {
  148.         $this->access_module $access_module;
  149.         return $this;
  150.     }
  151.     public function getUser(): ?User
  152.     {
  153.         return $this->user;
  154.     }
  155.     public function setUser(?User $user): self
  156.     {
  157.         $this->user $user;
  158.         return $this;
  159.     }
  160.     public function isR(): ?bool
  161.     {
  162.         return $this->r;
  163.     }
  164.     public function setR(?bool $r): self
  165.     {
  166.         $this->$r;
  167.         return $this;
  168.     }
  169.     /**
  170.      * @return Collection<int, UserModuleSectionPermissions>&Selectable
  171.      */
  172.     public function getUserModuleSectionPermissions(): Collection
  173.     {
  174.         return $this->user_module_section_permissions;
  175.     }
  176.     public function addUserModuleSectionPermission(UserModuleSectionPermissions $userModuleSectionPermission): self
  177.     {
  178.         if (!$this->user_module_section_permissions->contains($userModuleSectionPermission)) {
  179.             $this->user_module_section_permissions[] = $userModuleSectionPermission;
  180.             $userModuleSectionPermission->setUserModulePermission($this);
  181.         }
  182.         return $this;
  183.     }
  184.     public function removeUserModuleSectionPermission(UserModuleSectionPermissions $userModuleSectionPermission): self
  185.     {
  186.         if ($this->user_module_section_permissions->removeElement($userModuleSectionPermission)) {
  187.             // set the owning side to null (unless already changed)
  188.             if ($userModuleSectionPermission->getUserModulePermission() === $this) {
  189.                 $userModuleSectionPermission->setUserModulePermission(null);
  190.             }
  191.         }
  192.         return $this;
  193.     }
  194. }