adding new vorgang in database
This commit is contained in:
@@ -2,6 +2,9 @@ import { Buffer } from 'buffer';
|
|||||||
import { Readable } from 'stream';
|
import { Readable } from 'stream';
|
||||||
import { client } from '$lib/minio';
|
import { client } from '$lib/minio';
|
||||||
import { fail } from '@sveltejs/kit';
|
import { fail } from '@sveltejs/kit';
|
||||||
|
import { v4 as uuidv4 } from 'uuid';
|
||||||
|
|
||||||
|
import Database from 'better-sqlite3';
|
||||||
|
|
||||||
const isRequiredFieldValid = (value: unknown) => {
|
const isRequiredFieldValid = (value: unknown) => {
|
||||||
if (value == null) return false;
|
if (value == null) return false;
|
||||||
@@ -9,10 +12,10 @@ const isRequiredFieldValid = (value: unknown) => {
|
|||||||
if (typeof value === 'string' || value instanceof String) return value.trim() !== '';
|
if (typeof value === 'string' || value instanceof String) return value.trim() !== '';
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
};
|
||||||
|
|
||||||
export const actions = {
|
export const actions = {
|
||||||
url: async ({ request }: {request: Request}) => {
|
url: async ({ request }: { request: Request }) => {
|
||||||
const data = await request.formData();
|
const data = await request.formData();
|
||||||
const vorgang = data.get('vorgang');
|
const vorgang = data.get('vorgang');
|
||||||
const name = data.get('name');
|
const name = data.get('name');
|
||||||
@@ -26,22 +29,23 @@ export const actions = {
|
|||||||
if (!objectName.endsWith('.png')) objectName += '.png';
|
if (!objectName.endsWith('.png')) objectName += '.png';
|
||||||
break;
|
break;
|
||||||
case '':
|
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);
|
const url = await client.presignedPutObject('tatort', objectName);
|
||||||
|
|
||||||
// store code in S3
|
// store case in database
|
||||||
// tatort/<vorgang>/__perm__
|
|
||||||
const code_filename = '__perm__';
|
let db = new Database('./src/lib/data/tatort.db');
|
||||||
const buf = Buffer.from(code, 'utf-8');
|
let token = uuidv4();
|
||||||
const code_stream = Readable.from(buf);
|
let insert_stmt = `INSERT INTO cases (token, name, pw) VALUES (?, ?, ?)`;
|
||||||
const code_path = `${vorgang}/${code_filename}`;
|
const stmt = db.prepare(insert_stmt);
|
||||||
await client.putObject('tatort', code_path, code_stream);
|
stmt.run(token, vorgang, code);
|
||||||
|
|
||||||
return { url };
|
return { url };
|
||||||
},
|
},
|
||||||
validate: async ({ request }: {request: Request}) => {
|
validate: async ({ request }: { request: Request }) => {
|
||||||
const requestData = await request.formData();
|
const requestData = await request.formData();
|
||||||
const data = Object.fromEntries(requestData);
|
const data = Object.fromEntries(requestData);
|
||||||
const vorgang = data.vorgang;
|
const vorgang = data.vorgang;
|
||||||
@@ -73,7 +77,7 @@ export const actions = {
|
|||||||
return fail(400, err);
|
return fail(400, err);
|
||||||
},
|
},
|
||||||
|
|
||||||
upload: async ({ request }: {request: Request}) => {
|
upload: async ({ request }: { request: Request }) => {
|
||||||
const requestData = await request.formData();
|
const requestData = await request.formData();
|
||||||
const data = Object.fromEntries(requestData);
|
const data = Object.fromEntries(requestData);
|
||||||
const vorgang = data.vorgang;
|
const vorgang = data.vorgang;
|
||||||
@@ -83,7 +87,7 @@ export const actions = {
|
|||||||
|
|
||||||
return { url };
|
return { url };
|
||||||
},
|
},
|
||||||
upload3: async ({ request }: {request: Request}) => {
|
upload3: async ({ request }: { request: Request }) => {
|
||||||
const requestData = await request.formData();
|
const requestData = await request.formData();
|
||||||
const data = Object.fromEntries(requestData);
|
const data = Object.fromEntries(requestData);
|
||||||
const name = data.name;
|
const name = data.name;
|
||||||
|
|||||||
Reference in New Issue
Block a user