From 19a5583af693a970b26bd70870d91b20bb6e4488 Mon Sep 17 00:00:00 2001 From: Benjamin Perez Date: Tue, 30 Aug 2022 15:20:44 -0500 Subject: [PATCH 1/3] Filtered prefixes in versions list Signed-off-by: Benjamin Perez --- .../Objects/ObjectDetails/VersionsNavigator.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx index 2582bd596e..daf5c83ebc 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx @@ -212,13 +212,22 @@ const VersionsNavigator = ({ ) .then((res: IFileInfo[]) => { const result = get(res, "objects", []); + + const decodedInternalPaths = decodeURLString(internalPaths); + + // Filter the results prefixes as API can return more files than expected. + const filteredPrefixes = result.filter( + (item: IFileInfo) => item.name === decodedInternalPaths + ); + if (distributedSetup) { setActualInfo( - result.find((el: IFileInfo) => el.is_latest) || emptyFile + filteredPrefixes.find((el: IFileInfo) => el.is_latest) || + emptyFile ); - setVersions(result); + setVersions(filteredPrefixes); } else { - setActualInfo(result[0]); + setActualInfo(filteredPrefixes[0]); setVersions([]); } From 6e67796af06839bcce6ad6c45f7c2094d6728dc8 Mon Sep 17 00:00:00 2001 From: Benjamin Perez Date: Tue, 30 Aug 2022 22:02:41 -0500 Subject: [PATCH 2/3] Added missing basename prefix for download objects Signed-off-by: Benjamin Perez --- .../src/screens/Console/Buckets/ListBuckets/Objects/utils.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/utils.ts b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/utils.ts index 01ae2024ce..a180e2208c 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/utils.ts +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/utils.ts @@ -31,7 +31,9 @@ export const download = ( ) => { const anchor = document.createElement("a"); document.body.appendChild(anchor); - let path = `/api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}${ + let basename = document.baseURI.replace(window.location.origin, ""); + + let path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}${ overrideFileName !== null && overrideFileName.trim() !== "" ? `&override_file_name=${encodeURLString(overrideFileName || "")}` : "" From 568e6150272471d115f06cacd97011ee8e9bdc33 Mon Sep 17 00:00:00 2001 From: Benjamin Perez Date: Wed, 31 Aug 2022 12:16:42 -0500 Subject: [PATCH 3/3] Lint --- .../screens/Console/Buckets/ListBuckets/Objects/utils.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/utils.ts b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/utils.ts index a180e2208c..1920d683a1 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/utils.ts +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/utils.ts @@ -33,7 +33,9 @@ export const download = ( document.body.appendChild(anchor); let basename = document.baseURI.replace(window.location.origin, ""); - let path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}${ + let path = `${ + window.location.origin + }${basename}api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}${ overrideFileName !== null && overrideFileName.trim() !== "" ? `&override_file_name=${encodeURLString(overrideFileName || "")}` : "" @@ -47,7 +49,7 @@ export const download = ( req.addEventListener( "progress", function (evt) { - var percentComplete = Math.round((evt.loaded / fileSize) * 100); + let percentComplete = Math.round((evt.loaded / fileSize) * 100); if (progressCallback) { progressCallback(percentComplete);