From 617033fccb4f09ff9f357b3a737bfee7592453a6 Mon Sep 17 00:00:00 2001 From: Chi Cong Tran Date: Fri, 9 May 2025 09:42:17 +0200 Subject: [PATCH] check is name already exists during renaming --- src/routes/(angemeldet)/list/[vorgang]/+page.svelte | 5 +++++ src/routes/(angemeldet)/list/[vorgang]/+server.js | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/routes/(angemeldet)/list/[vorgang]/+page.svelte b/src/routes/(angemeldet)/list/[vorgang]/+page.svelte index 7f6b9aa..bd84376 100644 --- a/src/routes/(angemeldet)/list/[vorgang]/+page.svelte +++ b/src/routes/(angemeldet)/list/[vorgang]/+page.svelte @@ -139,6 +139,11 @@ if (!response.ok) { + if (response.status == 400) { + let json_res = await response.json() + alert(json_res['msg']) + return; + } throw new Error(`Fehlgeschlagen: ${response.status}`) } else { setTimeout(() => {window.location.reload()}, 500) diff --git a/src/routes/(angemeldet)/list/[vorgang]/+server.js b/src/routes/(angemeldet)/list/[vorgang]/+server.js index e32d374..7b6efc0 100644 --- a/src/routes/(angemeldet)/list/[vorgang]/+server.js +++ b/src/routes/(angemeldet)/list/[vorgang]/+server.js @@ -11,10 +11,20 @@ export async function PUT({ request }) { // Vorgang let vorgang = request.url.split('/').at(-1) - // copy + // prepare copy, incl. check if new name exists already let old_name = data["old_name"] let src_full_path = `/tatort/${vorgang}/${old_name}` let new_name = `${vorgang}/${data["new_name"]}` + + try { + let file_stats = await client.statObject('tatort', new_name) + return json({ msg: 'Die Datei existiert bereits.' }, { status: 400 }) + } catch (error) { + // continue operation + console.log('continue operation') + } + + // actual copy operation await client.copyObject('tatort', new_name, src_full_path) // delete