From 1caca7361421913de9c9483a6d449e0fbe40e462 Mon Sep 17 00:00:00 2001 From: Momentry Studio Date: Tue, 27 Oct 2026 02:28:49 +0800 Subject: [PATCH] feat: integrate settings validation API before saving upload path - saveUploadPath now validates path via POST /api/v2/settings/validate - Shows clear error message if path doesn't exist or isn't writable - Only saves if validation passes (valid: true) - 5 validation checks: format, existence, type, read/write permissions --- src/views/AdminView.vue | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/views/AdminView.vue b/src/views/AdminView.vue index de35e8f..d6e3413 100644 --- a/src/views/AdminView.vue +++ b/src/views/AdminView.vue @@ -1104,6 +1104,21 @@ async function saveUploadPath() { saveMessage.value = '' saveError.value = false try { + // First validate the path + const validateResp = await fetch(`${markbaseUrl.value}/api/v2/settings/validate`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ server: { upload_path: uploadPath.value } }) + }) + const validateData = await validateResp.json() + if (!validateData.valid) { + saveError.value = true + saveMessage.value = validateData.message || 'Path validation failed' + saving.value = false + return + } + + // Path is valid, now save const resp = await fetch(`${markbaseUrl.value}/api/v2/settings`, { method: 'POST', headers: { 'Content-Type': 'application/json' },