From 8d720a89b9a049ca5e669e2bb6e22c2343c71184 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Fri, 10 Nov 2023 13:01:03 +0100 Subject: [PATCH] Add user entity --- Entity/User.php | 175 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 Entity/User.php diff --git a/Entity/User.php b/Entity/User.php new file mode 100644 index 0000000..124f6e5 --- /dev/null +++ b/Entity/User.php @@ -0,0 +1,175 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Rapsys\BlogBundle\Entity; + +use Doctrine\Common\Collections\Collection; +use Doctrine\Common\Collections\ArrayCollection; + +use Rapsys\UserBundle\Entity\User as BaseUser; + +class User extends BaseUser { + /** + * @var ?string + */ + protected ?string $pseudonym; + + /** + * @var ?string + */ + protected ?string $slug; + + /** + * @var \Doctrine\Common\Collections\Collection + */ + private Collection $articles; + + /** + * @var \Doctrine\Common\Collections\Collection + */ + private Collection $user_translations; + + /** + * Constructor + * + * @param string $mail The user mail + * @param string $password The user password + * @param ?Civility $civility The user civility + * @param ?string $forename The user forename + * @param ?string $surname The user surname + * @param bool $active The user active + * @param bool $disabled The user disabled + * @param ?string $pseudonym The user pseudonym + * @param ?string $slug The user slug + */ + public function __construct(string $mail, string $password, ?Civility $civility = null, ?string $forename = null, ?string $surname = null, bool $active = false, bool $disabled = false, ?string $pseudonym = null, ?string $slug = null) { + //Call parent constructor + parent::__construct($mail, $password, $civility, $forename, $surname, $active, $disabled); + + //Set defaults + $this->pseudonym = $pseudonym; + $this->slug = $slug; + + //Set collections + $this->articles = new ArrayCollection(); + $this->user_translations = new ArrayCollection(); + } + + /** + * Set pseudonym + * + * @param ?string $pseudonym + * + * @return User + */ + public function setPseudonym(?string $pseudonym = null): User { + $this->pseudonym = $pseudonym; + + return $this; + } + + /** + * Get pseudonym + * + * @return ?string + */ + public function getPseudonym(): ?string { + return $this->pseudonym; + } + + /** + * Set slug + * + * @param ?string $slug + * + * @return User + */ + public function setSlug(?string $slug = null): User { + $this->slug = $slug; + + return $this; + } + + /** + * Get slug + * + * @return ?string + */ + public function getSlug(): ?string { + return $this->slug; + } + + /** + * Add article + * + * @param Article $article + * + * @return User + */ + public function addArticle(Article $article): User { + $this->articles[] = $article; + + return $this; + } + + /** + * Remove article + * + * @param Article $article + * + * @return \Doctrine\Common\Collections\Collection + */ + public function removeArticle(Article $article): Collection { + return $this->articles->removeElement($article); + } + + /** + * Get articles + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getArticles(): Collection { + return $this->articles; + } + + /** + * Add user translation + * + * @param \Rapsys\BlogBundle\Entity\UserTranslation $userTranslation + * + * @return User + */ + public function addUserTranslation(UserTranslation $userTranslation): User { + $this->user_translations[] = $userTranslation; + + return $this; + } + + /** + * Remove user translation + * + * @param \Rapsys\BlogBundle\Entity\UserTranslation $userTranslation + * + * @return \Doctrine\Common\Collections\Collection + */ + public function removeUserTranslation(UserTranslation $userTranslation): Collection { + return $this->user_translations->removeElement($userTranslation); + } + + /** + * Get user translations + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getUserTranslations(): Collection { + return $this->user_translations; + } +} -- 2.41.1