Example #1
0
 public function register(array $data)
 {
     $this->actionsLog->checkIsLimitOverByIP('register');
     $user = $this->createUser($data);
     DB::transaction(function () use($user, $data) {
         $user->save();
         $this->saveUserInfo($user);
         $this->notifier->sendConfirmationCode($user);
         $this->actionsLog->addActionLog('register', $user, false);
         Auth::login($user);
     });
     return $user;
 }
 public function sendResetInformation(array $credentials)
 {
     return DB::transaction(function () use($credentials) {
         $this->actionsLog->checkIsLimitOverByIP('reset_password_code_request');
         $user = $this->userRepo->getUserByEmail($credentials['email'], true);
         $this->actionsLog->checkIsLimitOverByUser('reset_password_code_request', $user);
         $passwordResetToken = $user->passwordResetToken;
         if ($passwordResetToken && !$passwordResetToken->isActive()) {
             $passwordResetToken->delete();
         }
         if ($passwordResetToken == null || !$passwordResetToken->isActive()) {
             $passwordResetToken = $this->createToken($user);
         }
         $this->notifier->sendResetPasswordInfo($user, $passwordResetToken);
         $this->actionsLog->addActionLog('reset_password_code_request', $user, false);
         return $passwordResetToken;
     });
 }