From 4eaa90af541917aa4bd08d3b19bd744b9c9bb785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Wed, 3 May 2023 12:15:02 +0200 Subject: [PATCH] address code smells MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- services/graph/pkg/service/v0/driveitems.go | 39 +++++++++++---------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/services/graph/pkg/service/v0/driveitems.go b/services/graph/pkg/service/v0/driveitems.go index 0d34e1559c..3c9d412b62 100644 --- a/services/graph/pkg/service/v0/driveitems.go +++ b/services/graph/pkg/service/v0/driveitems.go @@ -242,24 +242,8 @@ func (g Graph) getSpecialDriveItems(ctx context.Context, baseURL *url.URL, space var spaceItems []libregraph.DriveItem - for itemName, itemNode := range map[string]string{ - SpaceImageSpecialFolderName: imageNode, - ReadmeSpecialFolderName: readmeNode, - } { - var ref storageprovider.Reference - if itemNode != "" { - rid, _ := storagespace.ParseID(itemNode) - // add the storageID of the space, all drive items of this space belong to the same storageID - rid.StorageId = space.GetRoot().GetStorageId() - ref = storageprovider.Reference{ - ResourceId: &rid, - } - spaceItem := g.getSpecialDriveItem(ctx, ref, itemName, baseURL, space) - if spaceItem != nil { - spaceItems = append(spaceItems, *spaceItem) - } - } - } + spaceItems = g.fetchSpecialDriveItem(ctx, spaceItems, SpaceImageSpecialFolderName, imageNode, space, baseURL) + spaceItems = g.fetchSpecialDriveItem(ctx, spaceItems, ReadmeSpecialFolderName, readmeNode, space, baseURL) // cache properties spacePropertiesEntry := specialDriveItemEntry{ @@ -271,6 +255,23 @@ func (g Graph) getSpecialDriveItems(ctx context.Context, baseURL *url.URL, space return spaceItems } +func (g Graph) fetchSpecialDriveItem(ctx context.Context, spaceItems []libregraph.DriveItem, itemName string, itemNode string, space *storageprovider.StorageSpace, baseURL *url.URL) []libregraph.DriveItem { + var ref storageprovider.Reference + if itemNode != "" { + rid, _ := storagespace.ParseID(itemNode) + + rid.StorageId = space.GetRoot().GetStorageId() + ref = storageprovider.Reference{ + ResourceId: &rid, + } + spaceItem := g.getSpecialDriveItem(ctx, ref, itemName, baseURL, space) + if spaceItem != nil { + spaceItems = append(spaceItems, *spaceItem) + } + } + return spaceItems +} + // generates a space root stat cache key used to detect changes in a space // takes into account the special nodes because changing metadata does not affect the etag / mtime func spaceRootStatKey(id *storageprovider.ResourceId, imagenode, readmeNode string) string { @@ -284,7 +285,7 @@ func spaceRootStatKey(id *storageprovider.ResourceId, imagenode, readmeNode stri _, _ = sha3.Write([]byte(imagenode)) _, _ = sha3.Write([]byte(readmeNode)) h := make([]byte, 64) - sha3.Read(h) + _, _ = sha3.Read(h) return fmt.Sprintf("%x", h) }