diff --git a/changelog/unreleased/new-space-id-functions.md b/changelog/unreleased/new-space-id-functions.md index e399665dc81..2ed51033038 100644 --- a/changelog/unreleased/new-space-id-functions.md +++ b/changelog/unreleased/new-space-id-functions.md @@ -3,3 +3,4 @@ Change: Use new space ID util functions Changed code to use the new space ID util functions so that everything works with the new spaces ID format. https://github.com/owncloud/ocis/pull/3648 +https://github.com/owncloud/ocis/pull/3669 diff --git a/extensions/thumbnails/pkg/service/grpc/v0/service.go b/extensions/thumbnails/pkg/service/grpc/v0/service.go index dc6faa31f88..b114df40a8f 100644 --- a/extensions/thumbnails/pkg/service/grpc/v0/service.go +++ b/extensions/thumbnails/pkg/service/grpc/v0/service.go @@ -256,20 +256,16 @@ func (g Thumbnail) handleWebdavSource(ctx context.Context, func (g Thumbnail) stat(path, auth string) (*provider.StatResponse, error) { ctx := metadata.AppendToOutgoingContext(context.Background(), revactx.TokenHeader, auth) - var ref *provider.Reference - if strings.Contains(path, "!") { - parsed, err := storagespace.ParseReference(path) - if err != nil { - return nil, err - } - ref = &parsed - } else { - ref = &provider.Reference{ + ref, err := storagespace.ParseReference(path) + if err != nil { + // If the path is not a spaces reference try to handle it like a plain + // path reference. + ref = provider.Reference{ Path: path, } } - req := &provider.StatRequest{Ref: ref} + req := &provider.StatRequest{Ref: &ref} rsp, err := g.cs3Client.Stat(ctx, req) if err != nil { g.logger.Error().Err(err).Str("path", path).Msg("could not stat file") diff --git a/extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go b/extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go index 9b38b7ba6c8..696e8638804 100644 --- a/extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go +++ b/extensions/thumbnails/pkg/thumbnail/imgsource/cs3.go @@ -6,7 +6,6 @@ import ( "fmt" "io" "net/http" - "strings" gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" @@ -44,20 +43,16 @@ func (s CS3) Get(ctx context.Context, path string) (io.ReadCloser, error) { if !ok { return nil, errors.New("cs3source: authorization missing") } - var ref *provider.Reference - if strings.Contains(path, "!") { - parsed, err := storagespace.ParseReference(path) - if err != nil { - return nil, err - } - ref = &parsed - } else { - ref = &provider.Reference{ + ref, err := storagespace.ParseReference(path) + if err != nil { + // If the path is not a spaces reference try to handle it like a plain + // path reference. + ref = provider.Reference{ Path: path, } } ctx = metadata.AppendToOutgoingContext(context.Background(), revactx.TokenHeader, auth) - rsp, err := s.client.InitiateFileDownload(ctx, &provider.InitiateFileDownloadRequest{Ref: ref}) + rsp, err := s.client.InitiateFileDownload(ctx, &provider.InitiateFileDownloadRequest{Ref: &ref}) if err != nil { return nil, err diff --git a/extensions/webdav/pkg/service/v0/service.go b/extensions/webdav/pkg/service/v0/service.go index 589db405eee..d4aa39f8a91 100644 --- a/extensions/webdav/pkg/service/v0/service.go +++ b/extensions/webdav/pkg/service/v0/service.go @@ -124,7 +124,7 @@ func (g Webdav) SpacesThumbnail(w http.ResponseWriter, r *http.Request) { } t := r.Header.Get(TokenHeader) - fullPath := tr.Identifier + "!" + tr.Filepath + fullPath := tr.Identifier + tr.Filepath rsp, err := g.thumbnailsClient.GetThumbnail(r.Context(), &thumbnailssvc.GetThumbnailRequest{ Filepath: strings.TrimLeft(tr.Filepath, "/"), ThumbnailType: extensionToThumbnailType(strings.TrimLeft(tr.Extension, ".")),