diff options
author | Ethan Koenig <etk39@cornell.edu> | 2016-12-27 20:36:04 -0500 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2016-12-28 09:36:04 +0800 |
commit | f686a32eac75460d5b1fcf16b6f6c2ed57f5b03e (patch) | |
tree | ee44499a79483e621ea13e08643985a366b56be2 /routers/api/v1/org/team.go | |
parent | c463b1b8cb925ff80da1e8c8ec3aed64a7642091 (diff) | |
download | gitea-f686a32eac75460d5b1fcf16b6f6c2ed57f5b03e.tar.gz gitea-f686a32eac75460d5b1fcf16b6f6c2ed57f5b03e.zip |
API endpoints for organization teams (#370)
Diffstat (limited to 'routers/api/v1/org/team.go')
-rw-r--r-- | routers/api/v1/org/team.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/routers/api/v1/org/team.go b/routers/api/v1/org/team.go index f5b2e9dc55..2f51518875 100644 --- a/routers/api/v1/org/team.go +++ b/routers/api/v1/org/team.go @@ -7,6 +7,7 @@ package org import ( api "code.gitea.io/sdk/gitea" + "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/routers/api/v1/convert" ) @@ -25,3 +26,40 @@ func ListTeams(ctx *context.APIContext) { } ctx.JSON(200, apiTeams) } + +// GetTeam api for get a team +func GetTeam(ctx *context.APIContext) { + ctx.JSON(200, convert.ToTeam(ctx.Org.Team)) +} + +// GetTeamMembers api for get a team's members +func GetTeamMembers(ctx *context.APIContext) { + team := ctx.Org.Team + if err := team.GetMembers(); err != nil { + ctx.Error(500, "GetTeamMembers", err) + return + } + members := make([]*api.User, len(team.Members)) + for i, member := range team.Members { + members[i] = member.APIFormat() + } + ctx.JSON(200, members) +} + +// GetTeamRepos api for get a team's repos +func GetTeamRepos(ctx *context.APIContext) { + team := ctx.Org.Team + if err := team.GetRepositories(); err != nil { + ctx.Error(500, "GetTeamRepos", err) + } + repos := make([]*api.Repository, len(team.Repos)) + for i, repo := range team.Repos { + access, err := models.AccessLevel(ctx.User, repo) + if err != nil { + ctx.Error(500, "GetTeamRepos", err) + return + } + repos[i] = repo.APIFormat(access) + } + ctx.JSON(200, repos) +} |