diff --git a/src/routes/(angemeldet)/upload/+page.server.ts b/src/routes/(angemeldet)/upload/+page.server.ts index 1ca2879..55db9cb 100644 --- a/src/routes/(angemeldet)/upload/+page.server.ts +++ b/src/routes/(angemeldet)/upload/+page.server.ts @@ -2,6 +2,9 @@ import { Buffer } from 'buffer'; import { Readable } from 'stream'; import { client } from '$lib/minio'; import { fail } from '@sveltejs/kit'; +import { v4 as uuidv4 } from 'uuid'; + +import Database from 'better-sqlite3'; const isRequiredFieldValid = (value: unknown) => { if (value == null) return false; @@ -9,10 +12,10 @@ const isRequiredFieldValid = (value: unknown) => { if (typeof value === 'string' || value instanceof String) return value.trim() !== ''; return true; -} +}; export const actions = { - url: async ({ request }: {request: Request}) => { + url: async ({ request }: { request: Request }) => { const data = await request.formData(); const vorgang = data.get('vorgang'); const name = data.get('name'); @@ -26,22 +29,23 @@ export const actions = { if (!objectName.endsWith('.png')) objectName += '.png'; break; case '': - if (fileName?.toString().endsWith('.glb') && !objectName.endsWith('.glb')) objectName += '.glb'; + if (fileName?.toString().endsWith('.glb') && !objectName.endsWith('.glb')) + objectName += '.glb'; } const url = await client.presignedPutObject('tatort', objectName); - // store code in S3 - // tatort//__perm__ - const code_filename = '__perm__'; - const buf = Buffer.from(code, 'utf-8'); - const code_stream = Readable.from(buf); - const code_path = `${vorgang}/${code_filename}`; - await client.putObject('tatort', code_path, code_stream); + // store case in database + + let db = new Database('./src/lib/data/tatort.db'); + let token = uuidv4(); + let insert_stmt = `INSERT INTO cases (token, name, pw) VALUES (?, ?, ?)`; + const stmt = db.prepare(insert_stmt); + stmt.run(token, vorgang, code); return { url }; }, - validate: async ({ request }: {request: Request}) => { + validate: async ({ request }: { request: Request }) => { const requestData = await request.formData(); const data = Object.fromEntries(requestData); const vorgang = data.vorgang; @@ -73,7 +77,7 @@ export const actions = { return fail(400, err); }, - upload: async ({ request }: {request: Request}) => { + upload: async ({ request }: { request: Request }) => { const requestData = await request.formData(); const data = Object.fromEntries(requestData); const vorgang = data.vorgang; @@ -83,7 +87,7 @@ export const actions = { return { url }; }, - upload3: async ({ request }: {request: Request}) => { + upload3: async ({ request }: { request: Request }) => { const requestData = await request.formData(); const data = Object.fromEntries(requestData); const name = data.name;