diff --git a/src/views/AdminView.vue b/src/views/AdminView.vue index f58cbf1..f50e2d1 100644 --- a/src/views/AdminView.vue +++ b/src/views/AdminView.vue @@ -1036,18 +1036,11 @@ async function loadSettings() { settingsError.value = '' saveMessage.value = '' try { - const resp = await fetch(`${markbaseUrl.value}/api/v2/config`) - if (!resp.ok) { - const errData = await resp.json().catch(() => null) - const errMsg = errData?.error || resp.statusText || '' - // MarkBase config may return 500 if still running old version requiring postgresql - if (errMsg.includes('postgresql')) { - throw new Error('MarkBase needs restart (PostgreSQL→SQLite migration)') - } - throw new Error(`HTTP ${resp.status}: ${errMsg}`) - } - const cfg = await resp.json() - uploadPath.value = cfg.server?.upload_path || '' + const resp = await fetch(`${markbaseUrl.value}/api/v2/settings`) + if (!resp.ok) throw new Error(`HTTP ${resp.status}`) + const data = await resp.json() + if (!data.success) throw new Error(data.error || 'Failed to load settings') + uploadPath.value = data.settings?.server?.upload_path || '' } catch (e: any) { settingsError.value = 'Failed to load settings: ' + (e.message || e) } @@ -1058,9 +1051,13 @@ async function saveUploadPath() { saveMessage.value = '' saveError.value = false try { - const resp = await fetch(`${markbaseUrl.value}/api/v2/config/edit?key=server.upload_path&value=${encodeURIComponent(uploadPath.value)}`, { method: 'POST' }) + const resp = await fetch(`${markbaseUrl.value}/api/v2/settings`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ server: { upload_path: uploadPath.value } }) + }) const data = await resp.json() - if (data.ok) { + if (data.success) { saveMessage.value = 'Upload path saved successfully' } else { saveError.value = true