fixed merge conflicts

This commit is contained in:
2025-06-12 11:32:37 +02:00
47 changed files with 535 additions and 669 deletions

View File

@@ -1,14 +1,10 @@
import path from 'path';
import { writeFile } from 'fs/promises';
import { Buffer } from 'buffer';
import { createReadStream } from 'fs';
/** import Minio from 'minio'; */
import { Readable } from 'stream';
/** const MINIO_ACCESS_KEY = 'tMhLrfog47lMm0HZ'; */
import { client } from '$lib/minio';
import { fail } from '@sveltejs/kit';
function isRequiredFieldValid(value) {
const isRequiredFieldValid = (value: unknown) => {
if (value == null) return false;
if (typeof value === 'string' || value instanceof String) return value.trim() !== '';
@@ -16,9 +12,8 @@ function isRequiredFieldValid(value) {
return true;
}
/** @type {import('./$types').Actions} */
export const actions = {
url: async ({ request }) => {
url: async ({ request }: {request: Request}) => {
const data = await request.formData();
const vorgang = data.get('vorgang');
const name = data.get('name');
@@ -32,7 +27,7 @@ export const actions = {
if (!objectName.endsWith('.png')) objectName += '.png';
break;
case '':
if (fileName.endsWith('.glb') && !objectName.endsWith('.glb')) objectName += '.glb';
if (fileName?.toString().endsWith('.glb') && !objectName.endsWith('.glb')) objectName += '.glb';
}
const url = await client.presignedPutObject('tatort', objectName);
@@ -47,14 +42,14 @@ export const actions = {
return { url };
},
validate: async ({ request }) => {
validate: async ({ request }: {request: Request}) => {
const requestData = await request.formData();
const data = Object.fromEntries(requestData);
const vorgang = data.vorgang;
const name = data.name;
const zugangscode = data.zugangscode;
let success = true;
let err = {};
const err = {};
if (isRequiredFieldValid(vorgang)) err.vorgang = null;
else {
@@ -79,24 +74,21 @@ export const actions = {
return fail(400, err);
},
upload: async ({ request }) => {
upload: async ({ request }: {request: Request}) => {
const requestData = await request.formData();
const data = Object.fromEntries(requestData);
const vorgang = data.vorgang;
const name = data.name;
console.log('I:', vorgang, name);
const url = await client.presignedPutObject('tatort', `${vorgang}/${name}`, 60);
console.log('O:', url);
return { url };
},
upload3: async ({ request }) => {
upload3: async ({ request }: {request: Request}) => {
const requestData = await request.formData();
const data = Object.fromEntries(requestData);
const name = data.name;
const stream = data.file.stream();
console.log('Data:', stream);
const metaData = { 'Content-Type': 'model-gtlf-binary', 'X-VorgangsNr': '4711' };
const result = new Promise((resolve, reject) => {
client.putObject('tatort', name, Readable.from(stream), metaData, function (err, etag) {
@@ -108,13 +100,11 @@ export const actions = {
let error = null;
try {
etag = await result;
console.log(etag);
} catch (err) {
error = err;
console.log('Error:', err);
}
return { etag, error };
//await writeFile(filePath, Buffer.from(await data.file.arrayBuffer()));
}
};

View File

@@ -1,5 +1,5 @@
<script>
import { deserialize, enhance } from '$app/forms';
<script lang="ts">
import { deserialize } from '$app/forms';
import Alert from '$lib/components/ui/Alert.svelte';
import Button from '$lib/components/ui/Button.svelte';
import Modal from '$lib/components/ui/Modal/Modal.svelte';
@@ -31,15 +31,12 @@
$: case_existing = false;
let name = '';
/** @type {?string}*/
let etag = null;
/** @type {?FileList} */
let files = null;
let etag: string | null = null;
let files: FileList | null = null;
$: inProgress = form === null;
/** @type {?Record<string,any>}*/
let formErrors;
let formErrors: Record<string,any> | null;
async function validateForm() {
let data = new FormData();
@@ -58,7 +55,6 @@
success = false;
}
console.log('File', files);
if (!files?.length) {
formErrors = { file: 'Sie haben keine Datei ausgewählt.', ...formErrors };
success = false;
@@ -89,14 +85,12 @@
return null;
}
/** @param {MouseEvent} event*/
async function buttonClick(event) {
async function buttonClick(event: MouseEvent) {
if (!(await validateForm())) {
event.preventDefault();
return;
}
const url = await getUrl();
console.log('URL', url);
open = true;
inProgress = true;
@@ -104,7 +98,6 @@
.then((response) => {
inProgress = false;
etag = '123';
console.log('SUCCESS', response);
})
.catch((err) => {
inProgress = false;
@@ -114,7 +107,6 @@
}
function uploadSuccessful() {
console.log('reset');
open = false;
vorgang = '';
name = '';