You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

org_team.go 1.5 kB

9 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // Copyright 2016 The Gogs Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package admin
  5. import (
  6. api "code.gitea.io/sdk/gitea"
  7. "code.gitea.io/gitea/models"
  8. "code.gitea.io/gitea/modules/context"
  9. "code.gitea.io/gitea/routers/api/v1/convert"
  10. "code.gitea.io/gitea/routers/api/v1/user"
  11. )
  12. // CreateTeam api for create a team
  13. func CreateTeam(ctx *context.APIContext, form api.CreateTeamOption) {
  14. team := &models.Team{
  15. OrgID: ctx.Org.Organization.ID,
  16. Name: form.Name,
  17. Description: form.Description,
  18. Authorize: models.ParseAccessMode(form.Permission),
  19. }
  20. if err := models.NewTeam(team); err != nil {
  21. if models.IsErrTeamAlreadyExist(err) {
  22. ctx.Error(422, "", err)
  23. } else {
  24. ctx.Error(500, "NewTeam", err)
  25. }
  26. return
  27. }
  28. ctx.JSON(201, convert.ToTeam(team))
  29. }
  30. // AddTeamMember api for add a member to a team
  31. func AddTeamMember(ctx *context.APIContext) {
  32. u := user.GetUserByParams(ctx)
  33. if ctx.Written() {
  34. return
  35. }
  36. if err := ctx.Org.Team.AddMember(u.ID); err != nil {
  37. ctx.Error(500, "AddMember", err)
  38. return
  39. }
  40. ctx.Status(204)
  41. }
  42. // RemoveTeamMember api for remove one member from a team
  43. func RemoveTeamMember(ctx *context.APIContext) {
  44. u := user.GetUserByParams(ctx)
  45. if ctx.Written() {
  46. return
  47. }
  48. if err := ctx.Org.Team.RemoveMember(u.ID); err != nil {
  49. ctx.Error(500, "RemoveMember", err)
  50. return
  51. }
  52. ctx.Status(204)
  53. }