From b071dc6db5d3fd351e25ada00cb6d9729fc9ee51 Mon Sep 17 00:00:00 2001 From: "aji@catalis.app" Date: Sun, 22 Jun 2025 17:13:09 +0700 Subject: [PATCH] randomize file name --- src/routes/backoffice/account/+page.svelte | 15 +- src/routes/backoffice/issue/+page.svelte | 38 ++++- src/routes/backoffice/profile/+page.svelte | 31 +++- src/routes/backoffice/project/+page.svelte | 25 ++- .../backoffice/purchaseorder/+page.svelte | 3 + src/routes/dining/+page.svelte | 17 +- src/routes/issue/+page.svelte | 151 ++++++++++++------ src/routes/timesheet/+page.svelte | 3 + src/routes/transport/+page.svelte | 3 +- 9 files changed, 212 insertions(+), 74 deletions(-) diff --git a/src/routes/backoffice/account/+page.svelte b/src/routes/backoffice/account/+page.svelte index 025b310..916783f 100644 --- a/src/routes/backoffice/account/+page.svelte +++ b/src/routes/backoffice/account/+page.svelte @@ -211,9 +211,22 @@ if (selectedFile) { // Upload file to Supabase Storage + const oldFilePath = newUser.profile_picture + ? newUser.profile_picture.split("/").pop() + : null; + if (oldFilePath) { + await supabase.storage + .from("villabugis") + .remove([`profile_pictures/${oldFilePath}`]); + } + + const fileName = selectedFile.name; + const fileExtension = fileName.split(".").pop(); + const randomFileName = `${crypto.randomUUID()}.${fileExtension}`; + const { data, error } = await supabase.storage .from("villabugis") - .upload(`profile_pictures/${selectedFile.name}`, selectedFile); + .upload(`profile_pictures/${randomFileName}`, selectedFile); if (error) { console.error("Error uploading file:", error); diff --git a/src/routes/backoffice/issue/+page.svelte b/src/routes/backoffice/issue/+page.svelte index cc63b52..5bc7d9f 100644 --- a/src/routes/backoffice/issue/+page.svelte +++ b/src/routes/backoffice/issue/+page.svelte @@ -340,12 +340,26 @@ //upload image if selected if (selectedFile) { + //delete previous image + const oldFilePath = newIssue.issue_related_image + ? newIssue.issue_related_image.split("/").pop() + : null; + if (oldFilePath) { + const { error: deleteError } = await supabase.storage + .from("villabugis") + .remove([`issues/${oldFilePath}`]); + if (deleteError) { + console.error("Error deleting old image:", deleteError); + } + } + + const fileName = selectedFile.name; + const fileExtension = fileName.split(".").pop(); + const randomFileName = `${crypto.randomUUID()}.${fileExtension}`; + const { data, error } = await supabase.storage .from("villabugis") - .upload( - `issues/${Date.now()}_${selectedFile.name}`, - selectedFile, - ); + .upload(`issues/${randomFileName}`, selectedFile); console.log("Image upload data:", data); @@ -389,7 +403,9 @@ "description_of_the_issue", ) as string, reported_date: formData.get("reported_date") as string, - issue_related_image: imagePreviewUrl || "", + issue_related_image: newIssue.issue_related_image + ? newIssue.issue_related_image + : (formData.get("issue_related_image") as string), issue_source: formData.get("issue_source") as string, reported_by: formData.get("reported_by") as string, input_by: formData.get("input_by") as string, @@ -419,6 +435,11 @@ await fetchIssues(); showModal = false; + + //clear form data + newIssue = {}; + + selectedFile = null; } // function get public URL for image supabase @@ -1165,7 +1186,12 @@
diff --git a/src/routes/backoffice/profile/+page.svelte b/src/routes/backoffice/profile/+page.svelte index d8e7b7a..6ad9816 100644 --- a/src/routes/backoffice/profile/+page.svelte +++ b/src/routes/backoffice/profile/+page.svelte @@ -1,6 +1,7 @@