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)