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;
 }
Exemple #2
0
    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();