diff --git a/pkg/storage/fs/owncloud/owncloud.go b/pkg/storage/fs/owncloud/owncloud.go index b1e862fb708..a66b627544b 100644 --- a/pkg/storage/fs/owncloud/owncloud.go +++ b/pkg/storage/fs/owncloud/owncloud.go @@ -2194,6 +2194,9 @@ func (fs *ocfs) RestoreRecycleItem(ctx context.Context, key string, restoreRef * return nil } + if restoreRef == nil { + restoreRef = &provider.Reference{} + } if restoreRef.Path == "" { v, err := xattr.Get(src, trashOriginPrefix) if err != nil { diff --git a/pkg/storage/utils/decomposedfs/recycle.go b/pkg/storage/utils/decomposedfs/recycle.go index 18a99b4a10c..c30b16dd3cc 100644 --- a/pkg/storage/utils/decomposedfs/recycle.go +++ b/pkg/storage/utils/decomposedfs/recycle.go @@ -147,6 +147,9 @@ func (fs *Decomposedfs) ListRecycle(ctx context.Context) (items []*provider.Recy // RestoreRecycleItem restores the specified item func (fs *Decomposedfs) RestoreRecycleItem(ctx context.Context, key string, restoreRef *provider.Reference) error { + if restoreRef == nil { + restoreRef = &provider.Reference{} + } rn, restoreFunc, err := fs.tp.RestoreRecycleItemFunc(ctx, key, restoreRef.Path) if err != nil { return err diff --git a/pkg/storage/utils/localfs/localfs.go b/pkg/storage/utils/localfs/localfs.go index 644faefac5f..18a2075ecd7 100644 --- a/pkg/storage/utils/localfs/localfs.go +++ b/pkg/storage/utils/localfs/localfs.go @@ -130,13 +130,12 @@ func (fs *localfs) Shutdown(ctx context.Context) error { return nil } -func (fs *localfs) resolve(ctx context.Context, ref *provider.Reference) (string, error) { +func (fs *localfs) resolve(ctx context.Context, ref *provider.Reference) (p string, err error) { if ref.StorageId != "" || ref.NodeId != "" { - if p, err := fs.GetPathByID(ctx, ref); err != nil { + if p, err = fs.GetPathByID(ctx, ref); err != nil { return "", err - } else { - return path.Join(p, ref.Path), nil } + return path.Join(p, ref.Path), nil } return ref.Path, nil