Skip to content

Commit 11e0f82

Browse files
committed
refactor: move to streams
1 parent 380a39f commit 11e0f82

File tree

7 files changed

+258
-193
lines changed

7 files changed

+258
-193
lines changed

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"postinstall": "pnpm prepare:husky && pnpm prepare:nuxt"
2323
},
2424
"dependencies": {
25+
"@fastify/busboy": "^3.2.0",
2526
"@iconify-json/lucide": "^1.2.87",
2627
"@iconify-json/simple-icons": "^1.2.68",
2728
"@nuxt/test-utils": "3.23.0",
@@ -37,6 +38,7 @@
3738
"pinia-plugin-persistedstate": "^4.7.1",
3839
"sql.js": "^1.13.0",
3940
"tailwindcss": "^4.1.18",
41+
"unzipper": "^0.12.3",
4042
"v-code-diff": "^1.13.1",
4143
"zod": "^4.3.6"
4244
},
@@ -48,6 +50,7 @@
4850
"@types/node": "^22.19.7",
4951
"@types/pako": "^2.0.4",
5052
"@types/sql.js": "^1.4.9",
53+
"@types/unzipper": "^0.10.11",
5154
"@vitest/coverage-v8": "^3.2.4",
5255
"@vitest/eslint-plugin": "^1.6.6",
5356
"@vue/test-utils": "^2.4.6",

pnpm-lock.yaml

Lines changed: 74 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/api/outlines.post.ts

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,12 @@
11
export default defineEventHandler(async (event) => {
2-
console.log("Getting outlines...");
3-
const [file] = await receiveFiles(event, {
4-
ensure: {
5-
maxSize: "128MB",
6-
types: ["application/octet-stream"],
2+
const database = await processFileUpload(event, {
3+
maxSize: 256 * 1024 * 1024,
4+
processor: async (fileStream) => {
5+
console.log("Processing file stream...");
6+
return await getJWPUBDatabase(fileStream);
77
},
8-
formKey: "file",
9-
multiple: false,
108
});
119

12-
if (!file) {
13-
throw createError({
14-
statusCode: 400,
15-
statusMessage: "No file received",
16-
});
17-
}
18-
19-
console.log("File received");
20-
21-
const database = await getJWPUBDatabase(
22-
getRequestURL(event).origin,
23-
await file.arrayBuffer(),
24-
);
2510
const outlines = queryDatabase<{ Title: string }>(
2611
database,
2712
"SELECT Title FROM Document",

0 commit comments

Comments
 (0)