aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/xanzy/go-gitlab/groups.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/xanzy/go-gitlab/groups.go')
-rw-r--r--vendor/github.com/xanzy/go-gitlab/groups.go38
1 files changed, 34 insertions, 4 deletions
diff --git a/vendor/github.com/xanzy/go-gitlab/groups.go b/vendor/github.com/xanzy/go-gitlab/groups.go
index 1b8a0bea82..2aae865390 100644
--- a/vendor/github.com/xanzy/go-gitlab/groups.go
+++ b/vendor/github.com/xanzy/go-gitlab/groups.go
@@ -286,8 +286,7 @@ func (s *GroupsService) SearchGroup(query string, options ...RequestOptionFunc)
return g, resp, err
}
-// ListGroupProjectsOptions represents the available ListGroupProjects()
-// options.
+// ListGroupProjectsOptions represents the available ListGroup() options.
//
// GitLab API docs:
// https://docs.gitlab.com/ce/api/groups.html#list-a-group-39-s-projects
@@ -333,8 +332,7 @@ func (s *GroupsService) ListGroupProjects(gid interface{}, opt *ListGroupProject
return p, resp, err
}
-// ListSubgroupsOptions represents the available ListSubgroupsOptions()
-// options.
+// ListSubgroupsOptions represents the available ListSubgroups() options.
//
// GitLab API docs:
// https://docs.gitlab.com/ce/api/groups.html#list-a-groups-s-subgroups
@@ -365,6 +363,38 @@ func (s *GroupsService) ListSubgroups(gid interface{}, opt *ListSubgroupsOptions
return g, resp, err
}
+// ListDescendantGroupsOptions represents the available ListDescendantGroups()
+// options.
+//
+// GitLab API docs:
+// https://docs.gitlab.com/ce/api/groups.html#list-a-groups-descendant-groups
+type ListDescendantGroupsOptions ListGroupsOptions
+
+// ListDescendantGroups gets a list of subgroups for a given project.
+//
+// GitLab API docs:
+// https://docs.gitlab.com/ce/api/groups.html#list-a-groups-descendant-groups
+func (s *GroupsService) ListDescendantGroups(gid interface{}, opt *ListDescendantGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error) {
+ group, err := parseID(gid)
+ if err != nil {
+ return nil, nil, err
+ }
+ u := fmt.Sprintf("groups/%s/descendant_groups", pathEscape(group))
+
+ req, err := s.client.NewRequest("GET", u, opt, options)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ var g []*Group
+ resp, err := s.client.Do(req, &g)
+ if err != nil {
+ return nil, resp, err
+ }
+
+ return g, resp, err
+}
+
// ListGroupLDAPLinks lists the group's LDAP links. Available only for users who
// can edit groups.
//