From f02e0c833e597cc147cd907b63ffc4253bd97853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Mon, 11 Jul 2022 11:32:10 +0000 Subject: [PATCH] add missing storageid MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- services/webdav/pkg/dav/requests/thumbnail.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/services/webdav/pkg/dav/requests/thumbnail.go b/services/webdav/pkg/dav/requests/thumbnail.go index 4f8d5036c7..0c703d3725 100644 --- a/services/webdav/pkg/dav/requests/thumbnail.go +++ b/services/webdav/pkg/dav/requests/thumbnail.go @@ -7,6 +7,9 @@ import ( "path/filepath" "strconv" + providerv1beta1 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" + "github.com/cs3org/reva/v2/pkg/storagespace" + "github.com/cs3org/reva/v2/pkg/utils" "github.com/go-chi/chi/v5" "github.com/owncloud/ocis/v2/services/webdav/pkg/constants" @@ -37,6 +40,15 @@ type ThumbnailRequest struct { Identifier string } +func addMissingStorageID(id string) string { + rid := providerv1beta1.ResourceId{} + rid.StorageId, rid.SpaceId, rid.OpaqueId, _ = storagespace.SplitID(id) + if rid.StorageId == "" && rid.SpaceId == utils.ShareStorageSpaceID { + rid.StorageId = utils.ShareStorageProviderID + } + return storagespace.FormatResourceID(rid) +} + // ParseThumbnailRequest extracts all required parameters from a http request. func ParseThumbnailRequest(r *http.Request) (*ThumbnailRequest, error) { ctx := r.Context() @@ -46,7 +58,7 @@ func ParseThumbnailRequest(r *http.Request) (*ThumbnailRequest, error) { id := "" v := ctx.Value(constants.ContextKeyID) if v != nil { - id = v.(string) + id = addMissingStorageID(v.(string)) } q := r.URL.Query()