diff --git a/api/v2.0/swagger.yaml b/api/v2.0/swagger.yaml index d15e4f06a..92fbd8d71 100644 --- a/api/v2.0/swagger.yaml +++ b/api/v2.0/swagger.yaml @@ -2768,7 +2768,7 @@ paths: /usergroups: get: summary: Get all user groups information - description: Get all user groups information + description: Get all user groups information, it is open for system admin operationId: listUserGroups tags: - usergroup @@ -2781,6 +2781,11 @@ paths: type: string required: false description: search with ldap group DN + - name: group_name + in: query + type: string + required: false + description: group name need to search, fuzzy matches responses: '200': description: Get user group successfully. diff --git a/src/server/v2.0/handler/usergroup.go b/src/server/v2.0/handler/usergroup.go index b5906ab0e..4becf497d 100644 --- a/src/server/v2.0/handler/usergroup.go +++ b/src/server/v2.0/handler/usergroup.go @@ -110,6 +110,9 @@ func (u *userGroupAPI) ListUserGroups(ctx context.Context, params operation.List if err != nil { return u.SendError(ctx, err) } + if params.GroupName != nil && len(*params.GroupName) > 0 { + query.Keywords["GroupName"] = &q.FuzzyMatchValue{Value: *params.GroupName} + } switch authMode { case common.LDAPAuth: query.Keywords["GroupType"] = common.LDAPGroupType