From 8437728af1efb41961297279e8c5957eb3aaf999 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toma=C5=BE=20Jerman?= Date: Mon, 27 Mar 2023 12:13:39 +0200 Subject: [PATCH] Don't require pageID when fetching all NS layouts --- server/compose/rest/page_layout.go | 1 - server/compose/service/page_layout.go | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/server/compose/rest/page_layout.go b/server/compose/rest/page_layout.go index 64e492d2e..533c0aa01 100644 --- a/server/compose/rest/page_layout.go +++ b/server/compose/rest/page_layout.go @@ -88,7 +88,6 @@ func (ctrl *PageLayout) ListNamespace(ctx context.Context, r *request.PageLayout err error f = types.PageLayoutFilter{ NamespaceID: r.NamespaceID, - PageID: r.PageID, Labels: r.Labels, Handle: r.Handle, diff --git a/server/compose/service/page_layout.go b/server/compose/service/page_layout.go index b6e9f6fb5..8c22125f5 100644 --- a/server/compose/service/page_layout.go +++ b/server/compose/service/page_layout.go @@ -122,15 +122,22 @@ func (svc pageLayout) search(ctx context.Context, filter types.PageLayoutFilter) filter.Check = checkPageLayout(ctx, svc.ac) err = func() error { - ns, pg, err = loadPageCombo(ctx, svc.store, filter.NamespaceID, filter.PageID) - if err != nil { - return err + if filter.PageID > 0 { + ns, pg, err = loadPageCombo(ctx, svc.store, filter.NamespaceID, filter.PageID) + if err != nil { + return err + } + if !svc.ac.CanSearchPageLayoutsOnPage(ctx, pg) { + return PageLayoutErrNotAllowedToSearch() + } + } else { + ns, err = loadNamespace(ctx, svc.store, filter.NamespaceID) + if err != nil { + return err + } } aProps.setNamespace(ns) - if !svc.ac.CanSearchPageLayoutsOnPage(ctx, pg) { - return PageLayoutErrNotAllowedToSearch() - } if len(filter.Labels) > 0 { filter.LabeledIDs, err = label.Search(