diff options
author | Unknwon <u@gogs.io> | 2016-03-21 12:47:54 -0400 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2016-03-21 12:47:54 -0400 |
commit | e6f927f61af927156798390e64f17dd6755697e7 (patch) | |
tree | c97f90dfb0f4ae96534c13f98352907fb42d177b /routers/api/v1/admin | |
parent | 60ae8ac3d2995d46156ead8ad93004801daad4ce (diff) | |
download | gitea-e6f927f61af927156798390e64f17dd6755697e7.tar.gz gitea-e6f927f61af927156798390e64f17dd6755697e7.zip |
#1692 api: admin list and create team under organization
Diffstat (limited to 'routers/api/v1/admin')
-rw-r--r-- | routers/api/v1/admin/org.go (renamed from routers/api/v1/admin/orgs.go) | 0 | ||||
-rw-r--r-- | routers/api/v1/admin/org_team.go | 56 | ||||
-rw-r--r-- | routers/api/v1/admin/repo.go (renamed from routers/api/v1/admin/repos.go) | 0 | ||||
-rw-r--r-- | routers/api/v1/admin/user.go (renamed from routers/api/v1/admin/users.go) | 0 |
4 files changed, 56 insertions, 0 deletions
diff --git a/routers/api/v1/admin/orgs.go b/routers/api/v1/admin/org.go index fcce3b9314..fcce3b9314 100644 --- a/routers/api/v1/admin/orgs.go +++ b/routers/api/v1/admin/org.go diff --git a/routers/api/v1/admin/org_team.go b/routers/api/v1/admin/org_team.go new file mode 100644 index 0000000000..618dd9a948 --- /dev/null +++ b/routers/api/v1/admin/org_team.go @@ -0,0 +1,56 @@ +// Copyright 2016 The Gogs Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package admin + +import ( + api "github.com/gogits/go-gogs-client" + + "github.com/gogits/gogs/models" + "github.com/gogits/gogs/modules/context" + "github.com/gogits/gogs/routers/api/v1/convert" + "github.com/gogits/gogs/routers/api/v1/user" +) + +func ListTeams(ctx *context.APIContext) { + org := user.GetUserByParamsName(ctx, ":orgname") + if ctx.Written() { + return + } + + if err := org.GetTeams(); err != nil { + ctx.Error(500, "GetTeams", err) + return + } + + apiTeams := make([]*api.Team, len(org.Teams)) + for i := range org.Teams { + apiTeams[i] = convert.ToTeam(org.Teams[i]) + } + ctx.JSON(200, apiTeams) +} + +func CreateTeam(ctx *context.APIContext, form api.CreateTeamOption) { + org := user.GetUserByParamsName(ctx, ":orgname") + if ctx.Written() { + return + } + + team := &models.Team{ + OrgID: org.Id, + Name: form.Name, + Description: form.Description, + Authorize: models.ParseAccessMode(form.Permission), + } + if err := models.NewTeam(team); err != nil { + if models.IsErrTeamAlreadyExist(err) { + ctx.Error(422, "NewTeam", err) + } else { + ctx.Error(500, "NewTeam", err) + } + return + } + + ctx.JSON(200, convert.ToTeam(team)) +} diff --git a/routers/api/v1/admin/repos.go b/routers/api/v1/admin/repo.go index 0f0c3862de..0f0c3862de 100644 --- a/routers/api/v1/admin/repos.go +++ b/routers/api/v1/admin/repo.go diff --git a/routers/api/v1/admin/users.go b/routers/api/v1/admin/user.go index ce13804ffb..ce13804ffb 100644 --- a/routers/api/v1/admin/users.go +++ b/routers/api/v1/admin/user.go |