Skip to content

Commit

Permalink
fix: Allow naming keys with /
Browse files Browse the repository at this point in the history
  • Loading branch information
becem-gharbi committed Sep 28, 2023
1 parent 1d4f744 commit b638e14
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 18 deletions.
5 changes: 3 additions & 2 deletions playground/app.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<template>
<img :src="url">
<img :src="url" width="300">

<form @submit.prevent="(e) => handleChange(e.target?.file.files)">
<input type="file" name="file" />
Expand All @@ -18,7 +18,8 @@ const url = ref(
async function handleChange(files: File[]) {
url.value = await upload(files[0], {
url: url.value
url: url.value,
key: "my_folder/my_file"
});
}
</script>
12 changes: 6 additions & 6 deletions src/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,23 +68,23 @@ export default defineNuxtModule<ModuleOptions>({

// Get object
addServerHandler({
route: "/api/s3/query/:key",
route: "/api/s3/query/**",
method: "get",
handler: resolve(runtimeDir, "server/api/query/[key]/read"),
handler: resolve(runtimeDir, "server/api/query/read"),
});

// Create object
addServerHandler({
route: "/api/s3/mutation/:key",
route: "/api/s3/mutation/**",
method: "post",
handler: resolve(runtimeDir, "server/api/mutation/[key]/create"),
handler: resolve(runtimeDir, "server/api/mutation/create"),
});

// Delete object
addServerHandler({
route: "/api/s3/mutation/:key",
route: "/api/s3/mutation/**",
method: "delete",
handler: resolve(runtimeDir, "server/api/mutation/[key]/delete"),
handler: resolve(runtimeDir, "server/api/mutation/delete"),
});
},
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { putObject } from "#s3";
import { readMultipartFormData, createError } from "h3";

export default defineEventHandler(async (event) => {
const key = event.context.params?.key;
const key = event.path.split("/s3/mutation/")[1];

const multipartFormData = await readMultipartFormData(event);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { defineEventHandler } from "#imports";
import { deleteObject } from "#s3";

export default defineEventHandler(async (event) => {
const key = event.context.params?.key;
const key = event.path.split("/s3/mutation/")[1];

await deleteObject(key);

Expand Down
8 changes: 0 additions & 8 deletions src/runtime/server/api/query/[key]/read.ts

This file was deleted.

9 changes: 9 additions & 0 deletions src/runtime/server/api/query/read.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { defineEventHandler } from "#imports";
import { getObject } from "#s3";
import type { H3Event } from "h3";

export default defineEventHandler(async (event: H3Event) => {
const key = event.path.split("/s3/query/")[1];

return getObject(event, key);
});

0 comments on commit b638e14

Please sign in to comment.