From 440b1ecbfd8b35871a3f49feeeb12b555b75d8c0 Mon Sep 17 00:00:00 2001 From: Rui Santos Date: Tue, 14 Apr 2020 19:00:44 -0300 Subject: [PATCH] api: add admin endpoint to get team members (#6101) fixes #5877 --- internal/route/api/v1/admin/org_team.go | 14 ++++++++++++++ internal/route/api/v1/api.go | 1 + 2 files changed, 15 insertions(+) diff --git a/internal/route/api/v1/admin/org_team.go b/internal/route/api/v1/admin/org_team.go index 953f0936f..b0bc9accf 100644 --- a/internal/route/api/v1/admin/org_team.go +++ b/internal/route/api/v1/admin/org_team.go @@ -60,3 +60,17 @@ func RemoveTeamMember(c *context.APIContext) { c.NoContent() } + +func ListTeamMembers(c *context.APIContext) { + team := c.Org.Team + if err := team.GetMembers(); err != nil { + c.Error(err, "get team members") + return + } + + apiMembers := make([]*api.User, len(team.Members)) + for i := range team.Members { + apiMembers[i] = team.Members[i].APIFormat() + } + c.JSONSuccess(apiMembers) +} diff --git a/internal/route/api/v1/api.go b/internal/route/api/v1/api.go index 1ef21505c..993ce8a3a 100644 --- a/internal/route/api/v1/api.go +++ b/internal/route/api/v1/api.go @@ -396,6 +396,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/teams", func() { m.Group("/:teamid", func() { + m.Get("/members", admin.ListTeamMembers) m.Combo("/members/:username"). Put(admin.AddTeamMember). Delete(admin.RemoveTeamMember)