+ *
+ * @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 $enable The user enable
+ */
+ public function __construct(protected string $mail, protected string $password, protected ?Civility $civility = null, protected ?string $forename = null, protected ?string $surname = null, protected bool $active = false, protected bool $enable = true) {
+ //Call parent constructor
+ parent::__construct($this->mail, $this->password, $this->civility, $this->forename, $this->surname, $this->active, $this->enable);
+
+ //Set defaults
+ $this->city = null;
+ $this->country = null;
+ $this->phone = null;
+ $this->pseudonym = null;
+ $this->zipcode = null;
+
+ //Set collections
+ $this->applications = new ArrayCollection();
+ $this->dances = new ArrayCollection();
+ $this->locations = new ArrayCollection();
+ $this->snippets = new ArrayCollection();
+ $this->subscribers = new ArrayCollection();
+ $this->subscriptions = new ArrayCollection();
+ $this->googleTokens = new ArrayCollection();
+ }
+
+ /**
+ * Set city
+ *
+ * @param string $city
+ *
+ * @return User
+ */
+ public function setCity(?string $city): User {
+ $this->city = $city;
+
+ return $this;
+ }
+
+ /**
+ * Get city
+ *
+ * @return string
+ */
+ 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