From 69bfe78e2ca5a7b11e4dede5cd4c6e8a2b84c61a Mon Sep 17 00:00:00 2001 From: JatinderSingh Date: Fri, 10 Nov 2023 16:19:55 -0800 Subject: [PATCH] Adding method to find s3version of an object and logic to provide confirm message --- frontend/src/components/object/ObjectUploadBasic.vue | 10 ++++++++-- frontend/src/store/versionStore.ts | 7 +++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/object/ObjectUploadBasic.vue b/frontend/src/components/object/ObjectUploadBasic.vue index 5698262e..dd87dfa0 100644 --- a/frontend/src/components/object/ObjectUploadBasic.vue +++ b/frontend/src/components/object/ObjectUploadBasic.vue @@ -3,7 +3,7 @@ import { ref } from 'vue'; import { ObjectMetadataTagForm } from '@/components/object'; import { Button, Dialog, useConfirm, useToast } from '@/lib/primevue'; -import { useAppStore, useMetadataStore, useObjectStore, useTagStore } from '@/store'; +import { useAppStore, useMetadataStore, useObjectStore, useTagStore, useVersionStore } from '@/store'; import type { Ref } from 'vue'; import type { ObjectMetadataTagFormType } from '@/components/object/ObjectMetadataTagForm.vue'; @@ -24,6 +24,7 @@ const appStore = useAppStore(); const metadataStore = useMetadataStore(); const objectStore = useObjectStore(); const tagStore = useTagStore(); +const versionStore = useVersionStore(); // State const fileInput: Ref = ref(null); @@ -41,8 +42,13 @@ const confirm = useConfirm(); const toast = useToast(); const confirmUpdate = () => { + let confirmMessage = 'Please confirm that you want to upload a new version.'; + if (versionStore.findS3VersionByObjectId(props.objectId) === null) { + confirmMessage = 'This is a non-versioned bucket. ' + + 'Uploading a new version will overwrite the current version.'; + } confirm.require({ - message: 'Please confirm that you want to upload a new version.', + message: confirmMessage, header: 'Upload new version', acceptLabel: 'Confirm', rejectLabel: 'Cancel', diff --git a/frontend/src/store/versionStore.ts b/frontend/src/store/versionStore.ts index f1fcde4e..f378a646 100644 --- a/frontend/src/store/versionStore.ts +++ b/frontend/src/store/versionStore.ts @@ -126,7 +126,9 @@ export const useVersionStore = defineStore('version', () => { function findVersionsByObjectId(objectId: string) { return state.versions.value.filter((x: Version) => x.objectId === objectId); } - + function findS3VersionByObjectId(objectId: string) { + return state.versions.value.filter((x: Version) => x.objectId === objectId)[0]?.s3VersionId; + } return { // State ...state, @@ -143,7 +145,8 @@ export const useVersionStore = defineStore('version', () => { findMetadataValue, findTaggingByVersionId, findVersionById, - findVersionsByObjectId + findVersionsByObjectId, + findS3VersionByObjectId, }; });