mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-10-31 09:18:24 +00:00 
			
		
		
		
	Creation of Notification Entity
This commit is contained in:
		
							
								
								
									
										182
									
								
								src/Bundle/ChillMainBundle/Entity/Notification.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								src/Bundle/ChillMainBundle/Entity/Notification.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,182 @@ | ||||
| <?php | ||||
|  | ||||
| /* | ||||
|  * Copyright (C) 2021 Champs-Libres <info@champs-libres.coop> | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Affero General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Affero General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Chill\MainBundle\Entity; | ||||
|  | ||||
| use App\Repository\Chill\MainBundle\Entity\NotificationRepository; | ||||
| use Chill\MainBundle\Entity\User; | ||||
| use Doctrine\Common\Collections\ArrayCollection; | ||||
| use Doctrine\Common\Collections\Collection; | ||||
| use Doctrine\ORM\Mapping as ORM; | ||||
|  | ||||
| /** | ||||
|  * @ORM\Entity(repositoryClass=NotificationRepository::class) | ||||
|  */ | ||||
| class Notification | ||||
| { | ||||
|     /** | ||||
|      * @ORM\Id | ||||
|      * @ORM\GeneratedValue | ||||
|      * @ORM\Column(type="integer") | ||||
|      */ | ||||
|     private $id; | ||||
|  | ||||
|     /** | ||||
|      * @ORM\Column(type="text") | ||||
|      */ | ||||
|     private $message; | ||||
|  | ||||
|     /** | ||||
|      * @ORM\Column(type="datetime_immutable") | ||||
|      */ | ||||
|     private $date; | ||||
|  | ||||
|     /** | ||||
|      * @ORM\ManyToOne(targetEntity=User::class) | ||||
|      * @ORM\JoinColumn(nullable=false) | ||||
|      */ | ||||
|     private $sender; | ||||
|  | ||||
|     /** | ||||
|      * @ORM\ManyToMany(targetEntity=User::class) | ||||
|      * @ORM\JoinTable(name="chill_main_notification_addresses_user") | ||||
|      */ | ||||
|     private $addressees; | ||||
|  | ||||
|     /** | ||||
|      * @ORM\Column(type="string", length=255) | ||||
|      */ | ||||
|     private $relatedEntityClass; | ||||
|  | ||||
|     /** | ||||
|      * @ORM\Column(type="integer") | ||||
|      */ | ||||
|     private $relatedEntityId; | ||||
|  | ||||
|     /** | ||||
|      * @ORM\Column(type="boolean") | ||||
|      */ | ||||
|     private $read; | ||||
|  | ||||
|     public function __construct() | ||||
|     { | ||||
|         $this->addressees = new ArrayCollection(); | ||||
|     } | ||||
|  | ||||
|     public function getId(): ?int | ||||
|     { | ||||
|         return $this->id; | ||||
|     } | ||||
|  | ||||
|     public function getMessage(): ?string | ||||
|     { | ||||
|         return $this->message; | ||||
|     } | ||||
|  | ||||
|     public function setMessage(string $message): self | ||||
|     { | ||||
|         $this->message = $message; | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
|     public function getDate(): ?\DateTimeImmutable | ||||
|     { | ||||
|         return $this->date; | ||||
|     } | ||||
|  | ||||
|     public function setDate(\DateTimeImmutable $date): self | ||||
|     { | ||||
|         $this->date = $date; | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
|     public function getSender(): ?User | ||||
|     { | ||||
|         return $this->sender; | ||||
|     } | ||||
|  | ||||
|     public function setSender(?User $sender): self | ||||
|     { | ||||
|         $this->sender = $sender; | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @return Collection|User[] | ||||
|      */ | ||||
|     public function getAddressees(): Collection | ||||
|     { | ||||
|         return $this->addressees; | ||||
|     } | ||||
|  | ||||
|     public function addAddressee(User $addressee): self | ||||
|     { | ||||
|         if (!$this->addressees->contains($addressee)) { | ||||
|             $this->addressees[] = $addressee; | ||||
|         } | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
|     public function removeAddressee(User $addressee): self | ||||
|     { | ||||
|         $this->addressees->removeElement($addressee); | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
|     public function getRelatedEntityClass(): ?string | ||||
|     { | ||||
|         return $this->relatedEntityClass; | ||||
|     } | ||||
|  | ||||
|     public function setRelatedEntityClass(string $relatedEntityClass): self | ||||
|     { | ||||
|         $this->relatedEntityClass = $relatedEntityClass; | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
|     public function getRelatedEntityId(): ?int | ||||
|     { | ||||
|         return $this->relatedEntityId; | ||||
|     } | ||||
|  | ||||
|     public function setRelatedEntityId(int $relatedEntityId): self | ||||
|     { | ||||
|         $this->relatedEntityId = $relatedEntityId; | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
|  | ||||
|     public function getRead(): ?bool | ||||
|     { | ||||
|         return $this->read; | ||||
|     } | ||||
|  | ||||
|     public function setRead(bool $read): self | ||||
|     { | ||||
|         $this->read = $read; | ||||
|  | ||||
|         return $this; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,39 @@ | ||||
| <?php | ||||
|  | ||||
| /* | ||||
|  * Copyright (C) 2021 Champs-Libres <info@champs-libres.coop> | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Affero General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Affero General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| namespace Chill\MainBundle\Repository; | ||||
|  | ||||
| use Chill\MainBundle\Entity\Notification; | ||||
| use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; | ||||
| use Doctrine\Persistence\ManagerRegistry; | ||||
|  | ||||
| /** | ||||
|  * @method Notification|null find($id, $lockMode = null, $lockVersion = null) | ||||
|  * @method Notification|null findOneBy(array $criteria, array $orderBy = null) | ||||
|  * @method Notification[]    findAll() | ||||
|  * @method Notification[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) | ||||
|  */ | ||||
| class NotificationRepository extends ServiceEntityRepository | ||||
| { | ||||
|     public function __construct(ManagerRegistry $registry) | ||||
|     { | ||||
|         parent::__construct($registry, Notification::class); | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user