Learner\Http\Controllers\Auth\SocialController::findOrCreateUser PHP Method

findOrCreateUser() private method

Return user if exists; create and return if doesn't
private findOrCreateUser ( $githubUser ) : User | array
$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);
    }