X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/d9d15337d88f4ca34c2e419f7782f750540fccb6..fbe17cd04f8a37876254f2fdcb90566b05671a47:/Entity/User.php?ds=sidebyside diff --git a/Entity/User.php b/Entity/User.php index 189e0ea..387b196 100644 --- a/Entity/User.php +++ b/Entity/User.php @@ -11,59 +11,71 @@ namespace Rapsys\AirBundle\Entity; +use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\ArrayCollection; -use Rapsys\AirBundle\Entity\Application; -use Rapsys\AirBundle\Entity\Group; -use Rapsys\AirBundle\Entity\Link; -use Rapsys\AirBundle\Entity\Snippet; use Rapsys\UserBundle\Entity\User as BaseUser; class User extends BaseUser { /** - * @var string + * @var ?string */ - protected $pseudonym; + private ?string $city; /** - * @var string + * @var ?string */ - protected $phone; + private ?string $phone; /** - * @var string + * @var Country */ - protected $slug; + private ?Country $country; /** - * @var ArrayCollection + * @var ?string */ - private $applications; + private ?string $pseudonym; /** - * @var ArrayCollection + * @var ?string */ - private $dances; + private ?string $zipcode; /** - * @var ArrayCollection + * @var \Doctrine\Common\Collections\Collection */ - private $locations; + private Collection $applications; /** - * @var ArrayCollection + * @var \Doctrine\Common\Collections\Collection */ - private $snippets; + private Collection $dances; /** - * @var ArrayCollection + * @var \Doctrine\Common\Collections\Collection */ - private $subscribers; + private Collection $locations; /** - * @var ArrayCollection + * @var \Doctrine\Common\Collections\Collection */ - private $subscriptions; + private Collection $snippets; + + /** + * @var \Doctrine\Common\Collections\Collection + */ + private Collection $subscribers; + + /** + * @var \Doctrine\Common\Collections\Collection + */ + private Collection $subscriptions; + + /** + * @var \Doctrine\Common\Collections\Collection + */ + private Collection $googleTokens; /** * Constructor @@ -75,9 +87,11 @@ class User extends BaseUser { parent::__construct($mail); //Set defaults - $this->pseudonym = null; + $this->city = null; + $this->country = null; $this->phone = null; - $this->slug = null; + $this->pseudonym = null; + $this->zipcode = null; //Set collections $this->applications = new ArrayCollection(); @@ -86,28 +100,51 @@ class User extends BaseUser { $this->snippets = new ArrayCollection(); $this->subscribers = new ArrayCollection(); $this->subscriptions = new ArrayCollection(); + $this->googleTokens = new ArrayCollection(); } /** - * Set pseudonym + * Set city * - * @param string $pseudonym + * @param string $city * * @return User */ - public function setPseudonym(?string $pseudonym): User { - $this->pseudonym = $pseudonym; + public function setCity(?string $city): User { + $this->city = $city; return $this; } /** - * Get pseudonym + * Get city * * @return string */ - public function getPseudonym(): ?string { - return $this->pseudonym; + public function getCity(): ?string { + return $this->city; + } + + /** + * Set country + * + * @param Country $country + * + * @return User + */ + public function setCountry(?Country $country): User { + $this->country = $country; + + return $this; + } + + /** + * Get country + * + * @return Country + */ + public function getCountry(): ?Country { + return $this->country; } /** @@ -133,25 +170,47 @@ class User extends BaseUser { } /** - * Set slug + * Set pseudonym + * + * @param string $pseudonym + * + * @return User + */ + public function setPseudonym(?string $pseudonym): User { + $this->pseudonym = $pseudonym; + + return $this; + } + + /** + * Get pseudonym * - * @param string $slug + * @return string + */ + public function getPseudonym(): ?string { + return $this->pseudonym; + } + + /** + * Set zipcode + * + * @param string $zipcode * * @return User */ - public function setSlug(?string $slug): User { - $this->slug = $slug; + public function setZipcode(?string $zipcode): User { + $this->zipcode = $zipcode; return $this; } /** - * Get slug + * Get zipcode * * @return string */ - public function getSlug(): ?string { - return $this->slug; + public function getZipcode(): ?string { + return $this->zipcode; } /** @@ -179,9 +238,9 @@ class User extends BaseUser { /** * Get applications * - * @return ArrayCollection + * @return \Doctrine\Common\Collections\Collection */ - public function getApplications(): ArrayCollection { + public function getApplications(): Collection { return $this->applications; } @@ -212,9 +271,9 @@ class User extends BaseUser { /** * Get dances * - * @return ArrayCollection + * @return \Doctrine\Common\Collections\Collection */ - public function getDances(): ArrayCollection { + public function getDances(): Collection { return $this->dances; } @@ -243,9 +302,9 @@ class User extends BaseUser { /** * Get locations * - * @return ArrayCollection + * @return \Doctrine\Common\Collections\Collection */ - public function getLocations(): ArrayCollection { + public function getLocations(): Collection { return $this->locations; } @@ -274,9 +333,9 @@ class User extends BaseUser { /** * Get snippets * - * @return ArrayCollection + * @return \Doctrine\Common\Collections\Collection */ - public function getSnippets(): ArrayCollection { + public function getSnippets(): Collection { return $this->snippets; } @@ -305,9 +364,9 @@ class User extends BaseUser { /** * Get subscribers * - * @return ArrayCollection + * @return \Doctrine\Common\Collections\Collection */ - public function getSubscribers(): ArrayCollection { + public function getSubscribers(): Collection { return $this->subscribers; } @@ -319,6 +378,9 @@ class User extends BaseUser { * @return User */ public function addSubscription(User $subscription): User { + //Add from owning side + $subscription->addSubscriber($this); + $this->subscriptions[] = $subscription; return $this; @@ -330,15 +392,53 @@ class User extends BaseUser { * @param User $subscription */ public function removeSubscription(User $subscription): bool { + if (!$this->users->contains($user)) { + return true; + } + + //Remove from owning side + $subscription->removeSubscriber($this); + return $this->subscriptions->removeElement($subscription); } /** * Get subscriptions * - * @return ArrayCollection + * @return \Doctrine\Common\Collections\Collection */ - public function getSubscriptions(): ArrayCollection { + public function getSubscriptions(): Collection { return $this->subscriptions; } + + /** + * Add google token + * + * @param GoogleToken $googleToken + * + * @return User + */ + public function addGoogleToken(GoogleToken $googleToken): User { + $this->googleTokens[] = $googleToken; + + return $this; + } + + /** + * Remove google token + * + * @param GoogleToken $googleToken + */ + public function removeGoogleToken(GoogleToken $googleToken): bool { + return $this->googleTokens->removeElement($googleToken); + } + + /** + * Get googleTokens + * + * @return \Doctrine\Common\Collections\Collection + */ + public function getGoogleTokens(): Collection { + return $this->googleTokens; + } }