Skip to content
Snippets Groups Projects

Add direct S3 interaction

Merged Daniel Göbel requested to merge feature/s3-interaction into development
2 files
+ 63
12
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -17,18 +17,40 @@ import {
DeleteObjectsCommand,
} from "@aws-sdk/client-s3";
import { awsAuthMiddlewareOptions } from "@aws-sdk/middleware-signing";
import { useAuthStore } from "@/stores/auth";
const client = new S3Client({
const authStore = useAuthStore();
let client = new S3Client({
region: "us-east-1",
endpoint: import.meta.env.VITE_S3_URL,
forcePathStyle: true,
credentials: {
accessKeyId: import.meta.env.VITE_API_ACCESS_KEY,
secretAccessKey: import.meta.env.VITE_API_SECRET_KEY,
accessKeyId: authStore.s3key?.access_key ?? "",
secretAccessKey: authStore.s3key?.secret_key ?? "",
},
tls: false,
});
authStore.$onAction(({ name, args }) => {
if (name === "setS3Key") {
if (args[0] === null) {
console.error("There are no S3 Keys");
} else {
client = new S3Client({
region: "us-east-1",
endpoint: import.meta.env.VITE_S3_URL,
forcePathStyle: true,
credentials: {
accessKeyId: args[0].access_key,
secretAccessKey: args[0].secret_key,
},
tls: false,
});
}
}
});
client.middlewareStack.addRelativeTo(
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
@@ -223,7 +245,8 @@ const errorLoadingObjects: ComputedRef<boolean> = computed(
);
const writeS3Permission: ComputedRef<boolean> = computed(
() => props.permission == undefined || props.permission.permission == "READWRITE"
() =>
props.permission == undefined || props.permission.permission == "READWRITE"
);
// Lifecycle Hooks
@@ -670,10 +693,22 @@ watch(
<button class="dropdown-item" type="button">Details</button>
</li>
<li>
<button class="dropdown-item" type="button" :disabled="!writeS3Permission">Edit</button>
<button
class="dropdown-item"
type="button"
:disabled="!writeS3Permission"
>
Edit
</button>
</li>
<li>
<button class="dropdown-item" type="button" :disabled="!writeS3Permission">Copy</button>
<button
class="dropdown-item"
type="button"
:disabled="!writeS3Permission"
>
Copy
</button>
</li>
<li>
<button
@@ -702,7 +737,7 @@ watch(
:disabled="!writeS3Permission"
@click="
deleteFolder(
obj.parentFolder.join('/') + '/' + obj.name + '/'
obj.parentFolder.concat(['']).join('/') + obj.name + '/'
)
"
>
Loading