From 87510288c27d8b1af28c4847f8289c8e806092e3 Mon Sep 17 00:00:00 2001 From: Burak Sekili Date: Fri, 19 Nov 2021 19:25:48 +0300 Subject: [PATCH] NOISSUE - Fix listing (#1502) Signed-off-by: Burak Sekili --- things/service.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/things/service.go b/things/service.go index eb1011a4..3e2b0df0 100644 --- a/things/service.go +++ b/things/service.go @@ -319,11 +319,19 @@ func (ts *thingsService) ListThings(ctx context.Context, token string, pm PageMe } subject := res.GetId() + // If the user is admin, fetch all things from database. if err := ts.authorize(ctx, res.GetId(), authoritiesObject, memberRelationKey); err == nil { - subject = adminSubject pm.FetchSharedThings = true + page, err := ts.things.RetrieveAll(ctx, res.GetEmail(), pm) + if err != nil { + return Page{}, err + } + return page, err + // subject = adminSubject } + // If the user is not admin, check 'shared' parameter from pagemetada. + // If user provides 'shared' key, fetch things from policies. if pm.FetchSharedThings { req := &mainflux.ListPoliciesReq{Act: "read", Sub: subject} lpr, err := ts.auth.ListPolicies(ctx, req) @@ -338,6 +346,7 @@ func (ts *thingsService) ListThings(ctx context.Context, token string, pm PageMe return page, nil } + // By default, fetch things from Things service. page, err := ts.things.RetrieveAll(ctx, res.GetEmail(), pm) if err != nil { return Page{}, err