| export async function parseJSONResponse(res, t) { |
| const contentType = String(res.headers.get('content-type') || '').toLowerCase() |
| if (!contentType.includes('application/json')) { |
| throw new Error(t('settings.nonJsonResponse', { status: res.status })) |
| } |
| return res.json() |
| } |
|
|
| export async function fetchSettings(apiFetch, t) { |
| const res = await apiFetch('/admin/settings') |
| const data = await parseJSONResponse(res, t) |
| return { res, data } |
| } |
|
|
| export async function putSettings(apiFetch, payload) { |
| const res = await apiFetch('/admin/settings', { |
| method: 'PUT', |
| headers: { 'Content-Type': 'application/json' }, |
| body: JSON.stringify(payload), |
| }) |
| const data = await res.json() |
| return { res, data } |
| } |
|
|
| export async function postPassword(apiFetch, newPassword) { |
| const res = await apiFetch('/admin/settings/password', { |
| method: 'POST', |
| headers: { 'Content-Type': 'application/json' }, |
| body: JSON.stringify({ new_password: newPassword }), |
| }) |
| const data = await res.json() |
| return { res, data } |
| } |
|
|
| export async function getExportData(apiFetch) { |
| const res = await apiFetch('/admin/config/export') |
| const data = await res.json() |
| return { res, data } |
| } |
|
|
| export async function postImportData(apiFetch, mode, config) { |
| const res = await apiFetch(`/admin/config/import?mode=${encodeURIComponent(mode)}`, { |
| method: 'POST', |
| headers: { 'Content-Type': 'application/json' }, |
| body: JSON.stringify({ config, mode }), |
| }) |
| const data = await res.json() |
| return { res, data } |
| } |
|
|