src/Entity/Notification.php line 32

Open in your IDE?
  1. <?php
  2. /**
  3.  * @author Leo BANNHOLTZER (contact@scaledev.fr)
  4.  * @copyright 2021 - ScaleDEV SAS, 12 RUE CHARLES MORET, 10120 ST ANDRE LES VERGERS
  5.  * @license commercial
  6.  */
  7. declare(strict_types=1);
  8. namespace App\Entity;
  9. use App\Entity\User;
  10. use Symfony\Component\Uid\Uuid;
  11. use Doctrine\ORM\Mapping as ORM;
  12. use App\Repository\NotificationRepository;
  13. use Gedmo\Timestampable\Traits\TimestampableEntity;
  14. use Symfony\Bridge\Doctrine\IdGenerator\UuidGenerator;
  15. use App\DoctrineExtensions\SoftDeleteable\Traits\UserSoftDeleteableEntity;
  16. /**
  17.  * @ORM\Entity(repositoryClass=NotificationRepository::class)
  18.  * @ORM\Table(name="notification", indexes={
  19.  *  @ORM\Index(name="render", columns={"render"}, flags={"fulltext"}),
  20.  *  @ORM\Index(name="viewed", columns={"viewed"}),
  21.  *  @ORM\Index(name="readed", columns={"readed"}),
  22.  *  @ORM\Index(name="deleted", columns={"deleted"}),
  23.  *  @ORM\Index(name="created_at", columns={"created_at"}),
  24.  *  @ORM\Index(name="updated_at", columns={"updated_at"})
  25.  * })
  26.  */
  27. class Notification
  28. {
  29.     use TimestampableEntity;
  30.     /**
  31.      * @ORM\Id
  32.      * @ORM\Column(type="uuid")
  33.      * @ORM\GeneratedValue(strategy="CUSTOM")
  34.      * @ORM\CustomIdGenerator(class=UuidGenerator::class)
  35.      */
  36.     private ?Uuid $id null;
  37.     /**
  38.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="notifications")
  39.      * @ORM\JoinColumn(nullable=false)
  40.      */
  41.     private User $user;
  42.     /**
  43.      * @ORM\Column(type="text")
  44.      */
  45.     private string $object;
  46.     /**
  47.      * @ORM\Column(type="text")
  48.      */
  49.     private string $render;
  50.     /**
  51.      * @ORM\Column(type="json")
  52.      */
  53.     private ?array $options = [];
  54.     /**
  55.      * @ORM\Column(type="boolean", options={"default":"0"})
  56.      */
  57.     private bool $isActivity false;
  58.     /**
  59.      * @ORM\Column(type="boolean")
  60.      */
  61.     private bool $viewed;
  62.     /**
  63.      * @ORM\Column(type="boolean")
  64.      */
  65.     private bool $readed;
  66.     /**
  67.      * @ORM\Column(type="boolean")
  68.      */
  69.     private bool $deleted;
  70.     /**
  71.      * @return Uuid|null
  72.      */
  73.     public function getId(): ?Uuid
  74.     {
  75.         return $this->id;
  76.     }
  77.     /**
  78.      * @return User
  79.      */
  80.     public function getUser(): ?User
  81.     {
  82.         return $this->user;
  83.     }
  84.     /**
  85.      * @param User $user
  86.      * @return $this
  87.      */
  88.     public function setUser(?User $user): self
  89.     {
  90.         $this->user $user;
  91.         return $this;
  92.     }
  93.     /**
  94.      * @return string
  95.      */
  96.     public function getObject()
  97.     {
  98.         return $this->object;
  99.     }
  100.     /**
  101.      * @param string $object
  102.      * @return $this
  103.      */
  104.     public function setObject(string $object): self
  105.     {
  106.         $this->object $object;
  107.         return $this;
  108.     }
  109.     /**
  110.      * @return string
  111.      */
  112.     public function getRender(): ?string
  113.     {
  114.         return $this->render;
  115.     }
  116.     /**
  117.      * @param string $render
  118.      * @return $this
  119.      */
  120.     public function setRender(string $render): self
  121.     {
  122.         $this->render $render;
  123.         return $this;
  124.     }
  125.     /**
  126.      * @return array
  127.      */
  128.     public function getOptions(): array
  129.     {
  130.         return $this->options;
  131.     }
  132.     /**
  133.      * @param array $options
  134.      * @return $this
  135.      */
  136.     public function setOptions(array $options): self
  137.     {
  138.         $this->options $options;
  139.         return $this;
  140.     }
  141.     /**
  142.      * @return bool
  143.      */
  144.     public function getViewed(): ?bool
  145.     {
  146.         return $this->viewed;
  147.     }
  148.     /**
  149.      * @param bool $viewed
  150.      * @return $this
  151.      */
  152.     public function setViewed(bool $viewed): self
  153.     {
  154.         $this->viewed $viewed;
  155.         return $this;
  156.     }
  157.     /**
  158.      * @return bool
  159.      */
  160.     public function getReaded(): ?bool
  161.     {
  162.         return $this->readed;
  163.     }
  164.     /**
  165.      * @param bool $readed
  166.      * @return $this
  167.      */
  168.     public function setReaded(bool $readed): self
  169.     {
  170.         $this->readed $readed;
  171.         return $this;
  172.     }
  173.     /**
  174.      * @return bool
  175.      */
  176.     public function getIsActivity(): ?bool
  177.     {
  178.         return $this->isActivity;
  179.     }
  180.     /**
  181.      * @param bool $isActivity
  182.      * @return $this
  183.      */
  184.     public function setIsActivity(bool $isActivity): self
  185.     {
  186.         $this->isActivity $isActivity;
  187.         return $this;
  188.     }
  189.     /**
  190.      * @return bool
  191.      */
  192.     public function getDeleted(): ?bool
  193.     {
  194.         return $this->deleted;
  195.     }
  196.     /**
  197.      * @param bool $deleted
  198.      * @return $this
  199.      */
  200.     public function setDeleted(bool $deleted): self
  201.     {
  202.         $this->deleted $deleted;
  203.         return $this;
  204.     }
  205. }