f047_neu_Edit-der-Namen #28

Merged
trachi93 merged 14 commits from f047_neu_Edit-der-Namen into development 2025-08-19 09:30:13 +02:00
Showing only changes of commit 45166c0cac - Show all commits

View File

@@ -1,4 +1,6 @@
import { BUCKET, client } from '$lib/minio';
import { json, type RequestHandler } from '@sveltejs/kit';
import { getVorgangByName } from '$lib/server/vorgangService';
export async function GET() {
const stream = client.listObjectsV2(BUCKET, '', true);
@@ -23,7 +25,6 @@ export async function GET() {
});
}
export async function DELETE({ request }: { request: Request }) {
const url_fragments = request.url.split('/');
const item = url_fragments.at(-1);
@@ -33,3 +34,39 @@ export async function DELETE({ request }: { request: Request }) {
return new Response(null, { status: 204 });
}
// rename operation for crimes
export async function PUT({ params, request }: { params: RequestHandler; request: Request }) {
const data = await request.json();
// Vorgang
const vorgangName = params.vorgang;
const vorgangToken = getVorgangByName(vorgangName)?.token;
// prepare copy, incl. check if new name exists already
const crimeOldName = data['oldName'];
const crimeS3FullBucketPathOld = `/tatort/${vorgangToken}/${crimeOldName}`;
const crimeNewName = `${vorgangToken}/${data['newName']}`;
if (!crimeOldName || !crimeNewName) {
return json({ msg: 'Der Name darf nicht leer sein.' }, { status: 400 });
}
try {
await client.statObject('tatort', crimeNewName);
return json({ msg: 'Die Datei existiert bereits.' }, { status: 400 });
} catch (error) {
// continue operation
console.log(error, 'continue operation');
}
// actual copy operation
await client.copyObject('tatort', crimeNewName, crimeS3FullBucketPathOld);
console.log(`+++ weiter geht's`);
// delete
await client.removeObject('tatort', `${vorgangToken}/${crimeOldName}`);
return json({ success: 'success' }, { status: 200 });
}