/** * ユーザを登録する * * @param User $gitHubUser * * @return int $userId */ public function registerUser(User $gitHubUser) { $gitHubId = $gitHubUser->getId(); // 登録済みであればuser IDを返却 if ($user = $this->userModel->getUserByGitHubId($gitHubId)) { return $user->id; } // usersに新たに登録 $userId = $this->userModel->insertUser('tmp'); // XXX: テーブル設計見直し // テーブル格納用データ $gitHubInformation = ['user_id' => $userId, 'token' => $gitHubUser->token, 'github_id' => $gitHubUser->getId(), 'nickname' => $gitHubUser->getNickname(), 'name' => $gitHubUser->getName(), 'email' => $gitHubUser->getEmail(), 'avatar' => $gitHubUser->getAvatar()]; $this->gitHubInfoModel->insert($gitHubInformation); return $userId; }