vendor/score/cms/src/Entity/Access/Access.php line 25

Open in your IDE?
  1. <?php
  2. namespace Score\CmsBundle\Entity\Access;
  3. use Doctrine\Common\Collections\Criteria;
  4. use Doctrine\Common\Collections\Expr\Comparison;
  5. use Score\CmsBundle\Repository\AccessRepository;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Score\BaseBundle\Entity\BaseEntity;
  8. use Score\CmsBundle\Entity\Article\Article;
  9. use Score\CmsBundle\Entity\Document\Document;
  10. use Score\CmsBundle\Entity\Event\Event;
  11. use Score\CmsBundle\Entity\Page\Page;
  12. use Score\CmsBundle\Entity\User;
  13. use Score\CmsBundle\Entity\Access\AccessArticle;
  14. /**
  15.  * @ORM\Entity(repositoryClass=AccessRepository::class)
  16.  * @ORM\InheritanceType("SINGLE_TABLE")
  17.  * @ORM\DiscriminatorColumn(name="access_entity", type="string")
  18.  * @ORM\DiscriminatorMap({"article"="AccessArticle", "document"="AccessDocument", "event"="AccessEvent", "page"="AccessPage" })
  19.  * @ORM\Table(name="cms_access")
  20.  * @ORM\HasLifecycleCallbacks()
  21.  */
  22. class Access extends BaseEntity {
  23.     /**
  24.      * @ORM\Column(name="a_role", type="string", length=255, nullable=true)
  25.      */
  26.     protected $role;
  27.     /**
  28.      * @ORM\Column(name="a_params", type="string", length=2000, nullable=true)
  29.      */
  30.     protected $params;
  31.     /**
  32.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="accesses")
  33.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
  34.      */
  35.     protected $user;
  36.     /**
  37.      * @ORM\Column(name="entity_id", type="integer", nullable=true)
  38.      */
  39.     protected $entityId;
  40.     public function getRole(): ?string {
  41.         return $this->role;
  42.     }
  43.     public function setRole(?string $role): self {
  44.         $this->role = $role;
  45.         return $this;
  46.     }
  47.     public function getParams(): ?string {
  48.         return $this->params;
  49.     }
  50.     public function setParams(?string $params): self {
  51.         $this->params = $params;
  52.         return $this;
  53.     }
  54.     public function getParamsArr(): ?array {
  55.         return json_decode($this->params, true);
  56.     }
  57.     public function setParamsArr(?array $params): self {
  58.         $this->params = json_encode($params);
  59.         return $this;
  60.     }
  61.     public function getParamByKey($key, $defaultValue = null) {
  62.         $arr = $this->getParamsArr();
  63.         if (is_array($arr) && array_key_exists($key, $arr)) {
  64.             return $arr[$key];
  65.         }
  66.         return $defaultValue;
  67.     }
  68.     public function setParamByKey($key, $value) {
  69.         $arr = $this->getParamsArr();
  70.         if (is_array($arr)) {
  71.             $arr[$key] = $value;
  72.         } else {
  73.             $arr = [$key => $value];
  74.         }
  75.         return $this->setParamsArr($arr);
  76.     }
  77.     public function getUser(): ?User {
  78.         return $this->user;
  79.     }
  80.     public function setUser(?User $user): self {
  81.         $this->user = $user;
  82.         return $this;
  83.     }
  84. }