Exemplo n.º 1
0
 /**
  * Return user if exists; create and return if doesn't
  *
  * @param $githubUser
  *
  * @return \Learner\Models\User|array
  */
 private function findOrCreateUser($githubUser)
 {
     if ($authUser = User::where('email', $githubUser->email)->first()) {
         return $authUser;
     }
     // username exist, add a random string and return use profile page.
     if (User::where('username', $githubUser->nickname)->first()) {
         $githubUser->nickname .= uniqid();
         $user = $this->createAUser($githubUser->nickname, $githubUser->name, $githubUser->email, $githubUser->avatar);
         return [$user];
     }
     return $this->createAUser($githubUser->nickname, $githubUser->name, $githubUser->email, $githubUser->avatar);
 }