/** * @param $hasCode * @param $listener * @return mixed */ public function execute($hasCode, $listener) { if (!$hasCode) { return $this->getAuthorizationFirst(); } $googleUser = $this->getGoogleUser(); $user = $this->users->findByUsernameOrCreate($googleUser); $this->guard->login($user, true); return $listener->userHasLoggedIn(); }
/** * Splits contacts into categories * @param Array $contacts * @return mixed */ public function categorize($contacts) { $auth_user_id = Auth::user()->id; $filtered_contacts = []; foreach ($contacts as $contact) { $email = $contact['email']; if ($this->users->findByUsername($email)) { $filtered_contacts['member'][] = $contact; } else { if ($this->invites->findByUserIDandEmail($auth_user_id, $email)) { $filtered_contacts['invited'][] = $contact; } else { $filtered_contacts['not_invited'][] = $contact; } } } return $filtered_contacts; }