From 3dccd99a8b3fac972f7ad20dad9315dde398eb6d Mon Sep 17 00:00:00 2001 From: nyagamunene Date: Thu, 1 Aug 2024 15:08:42 +0300 Subject: [PATCH] Changed implementation of search in listmembers Signed-off-by: nyagamunene --- users/service.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/users/service.go b/users/service.go index dfc1ebeb8c7..0a168f41ba5 100644 --- a/users/service.go +++ b/users/service.go @@ -5,6 +5,7 @@ package users import ( "context" + "strings" "time" "github.com/absmach/magistrala" @@ -523,6 +524,11 @@ func (svc service) ListMembers(ctx context.Context, token, objectKind, objectID } pm.IDs = userIDs + var nameQuery string + if pm.Name != "" && len(pm.IDs) != 0 { + nameQuery = pm.Name + pm.Name = "" + } cp, err := svc.clients.RetrieveAll(ctx, pm) if err != nil { return mgclients.MembersPage{}, errors.Wrap(svcerr.ErrViewEntity, err) @@ -538,6 +544,16 @@ func (svc service) ListMembers(ctx context.Context, token, objectKind, objectID } } + if nameQuery != "" { + filteredClients := make([]mgclients.Client, 0, len(cp.Clients)) + for _, c := range cp.Clients { + if strings.Contains(c.Name, nameQuery) { + filteredClients = append(filteredClients, c) + } + } + cp.Clients = filteredClients + } + if pm.ListPerms && len(cp.Clients) > 0 { g, ctx := errgroup.WithContext(ctx)