Skip to content
Snippets Groups Projects

Resolve "Add delete after copy option to S3"

Merged Daniel Göbel requested to merge feature/125-add-delete-after-copy-option-to-s3 into main
3 files
+ 78
49
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -22,12 +22,14 @@ const formState = reactive<{
@@ -22,12 +22,14 @@ const formState = reactive<{
uploading: boolean;
uploading: boolean;
err: string;
err: string;
abortController?: AbortController;
abortController?: AbortController;
 
moveObject: boolean;
}>({
}>({
destKey: "",
destKey: "",
destBucket: "",
destBucket: "",
uploading: false,
uploading: false,
err: "",
err: "",
abortController: undefined,
abortController: undefined,
 
moveObject: false,
});
});
const bucketRepository = useBucketStore();
const bucketRepository = useBucketStore();
@@ -58,9 +60,18 @@ function copyObject() {
@@ -58,9 +60,18 @@ function copyObject() {
formState.destKey,
formState.destKey,
formState.abortController,
formState.abortController,
)
)
 
.then(() => {
 
if (formState.moveObject && props.srcObject.Key != undefined) {
 
return objectRepository.deleteObject(
 
props.srcBucket,
 
props.srcObject.Key,
 
);
 
}
 
})
.then(() => {
.then(() => {
copyModal?.hide();
copyModal?.hide();
successToast?.show();
successToast?.show();
 
formState.moveObject = false;
formState.destBucket = "";
formState.destBucket = "";
})
})
.catch((e) => {
.catch((e) => {
@@ -157,6 +168,21 @@ onMounted(() => {
@@ -157,6 +168,21 @@ onMounted(() => {
v-model="formState.destKey"
v-model="formState.destKey"
/>
/>
</div>
</div>
 
<div class="mb-3 form-check">
 
<input
 
class="form-check-input"
 
type="checkbox"
 
v-model="formState.moveObject"
 
id="flexCheckDefault"
 
:disabled="formState.uploading"
 
/>
 
<label class="form-check-label" for="flexCheckDefault">
 
Delete object after copy
 
</label>
 
</div>
 
<div class="text-danger" v-if="(srcObject.Size ?? 0) > 5000000000">
 
Only objects smaller than 5GB can be copied.
 
</div>
</form>
</form>
<div class="col-5">
<div class="col-5">
You can copy objects. You have to create destination buckets prior
You can copy objects. You have to create destination buckets prior
@@ -185,6 +211,7 @@ onMounted(() => {
@@ -185,6 +211,7 @@ onMounted(() => {
type="submit"
type="submit"
:form="'copyObjectForm' + randomIDSuffix"
:form="'copyObjectForm' + randomIDSuffix"
class="btn btn-primary"
class="btn btn-primary"
 
:disabled="(srcObject.Size ?? 0) > 5000000000"
>
>
Copy
Copy
</button>
</button>
Loading