diff --git a/accounts/pkg/service/v0/groups.go b/accounts/pkg/service/v0/groups.go index 6d48fbcda..1c1132e98 100644 --- a/accounts/pkg/service/v0/groups.go +++ b/accounts/pkg/service/v0/groups.go @@ -4,6 +4,7 @@ import ( "context" "github.com/owncloud/ocis/accounts/pkg/storage" "path/filepath" + "regexp" "github.com/gofrs/uuid" "github.com/golang/protobuf/ptypes/empty" @@ -59,6 +60,12 @@ func (s Service) ListGroups(c context.Context, in *proto.ListGroupsRequest, out searchResults, _ = s.index.FindByPartial(&proto.Group{}, "DisplayName", "*") } + var startsWithIDQuery = regexp.MustCompile(`^startswith\(id,'(.*)'\)$`) + match := startsWithIDQuery.FindStringSubmatch(in.Query) + if len(match) == 2 { + searchResults = []string{match[1]} + } + for _, hit := range searchResults { g := &proto.Group{} if err = s.repo.LoadGroup(c, hit, g); err != nil {