public function maxPermissionOfRepo($repoFullName) { if ($repoFullName == 'heimonsy/eleme-deploy') { return DeployPermissions::PULL; } $maxPermission = DeployPermissions::DENY; foreach ($this->teams as $team) { $repos = new TeamRepos($team->id, $this->token); foreach ($repos->repos() as $repo) { if ($repo->fullName == $repoFullName && DeployPermissions::havePermission($maxPermission, $team->permission)) { $maxPermission = $team->permission; } } } return $maxPermission == DeployPermissions::DENY ? NULL : $maxPermission; }
if ($code == '') { return 'CODE ERROR'; } $accessToken = \Eleme\Github\GithubAuthorize::accessToken($code); if ($accessToken == NULL) { echo "CODE ERROR"; } $client = new \Eleme\Github\GithubClient($accessToken); $teams = $client->request('user/teams'); $haveEleme = false; $orgTeams = array(); foreach ($teams as $team) { if ($team->organization->login == Config::get('github.organization')) { $haveEleme = true; $orgTeams[] = $gt = new GithubTeam($team); TeamRepos::delByTeamId($gt->id); } } if ($haveEleme) { $user = $client->request('user'); $email = isset($user->email) ? $user->email : ''; $cookie = GithubLogin::login($user->login, $email, $accessToken, $orgTeams); return Redirect::to('/')->withCookie($cookie); } else { return "ORG ERROR"; } }); Route::get('/user/permissions/refresh', function () { $user = GithubLogin::getLoginUser(); $user->sitePermission(); $user->set();