add email to user service
This commit is contained in:
parent
86f878acae
commit
837a990f59
1 changed files with 11 additions and 5 deletions
|
@ -12,11 +12,12 @@ class User extends Main
|
|||
/**
|
||||
* @param string $invite
|
||||
* @param string $username
|
||||
* @param string $email
|
||||
* @param string $password
|
||||
* @return UserModel
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function register($invite, $username, $password)
|
||||
public function register($invite, $username, $email, $password)
|
||||
{
|
||||
$invite = InviteQuery::create()->findOneByInvite($invite);
|
||||
|
||||
|
@ -24,12 +25,13 @@ class User extends Main
|
|||
throw new \Exception("Invalid invite code");
|
||||
}
|
||||
|
||||
$this->validateUserParams($username, $password);
|
||||
$this->validateUserParams($username, $email, $password);
|
||||
|
||||
$inviteUser = $invite->getUser();
|
||||
|
||||
$user = new UserModel();
|
||||
$user->setUsername($username);
|
||||
$user->setEmail($email);
|
||||
$user->setPassword(\password_hash($password, PASSWORD_DEFAULT));
|
||||
|
||||
if ($inviteUser === null || $inviteUser->getMaxInvites() === -1) {
|
||||
|
@ -47,7 +49,7 @@ class User extends Main
|
|||
return $user;
|
||||
}
|
||||
|
||||
public function validateUserParams($username, $password) {
|
||||
public function validateUserParams($username, $email, $password) {
|
||||
if ($username === "") {
|
||||
throw new \Exception("No username given");
|
||||
}
|
||||
|
@ -56,6 +58,10 @@ class User extends Main
|
|||
throw new \Exception("Username can only consist of a-z, 0-9 and -");
|
||||
}
|
||||
|
||||
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
||||
throw new \Exception("Email is invalid");
|
||||
}
|
||||
|
||||
if ($password === "") {
|
||||
throw new \Exception("Password is nothing, though strong. we rather not have you use that");
|
||||
}
|
||||
|
@ -69,9 +75,9 @@ class User extends Main
|
|||
}
|
||||
}
|
||||
|
||||
public function createSuperuser($username, $password) {
|
||||
public function createSuperuser($username, $email, $password) {
|
||||
|
||||
$this->validateUserParams($username, $password);
|
||||
$this->validateUserParams($username, $email, $password);
|
||||
|
||||
$user = new UserModel();
|
||||
$user->setUsername($username);
|
||||
|
|
Loading…
Reference in a new issue