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' },