diff --git a/static/js/app.js b/static/js/app.js index 877b347..2dbccde 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -109,7 +109,7 @@ document.addEventListener('DOMContentLoaded', () => { checkAuth(); function logUiEvent(action, details = {}) { - fetch(appUrl('/api/settings/log-ui-event'), { + fetch(appUrl(`/api/settings/log-ui-event`), { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action, details }) @@ -120,7 +120,7 @@ document.addEventListener('DOMContentLoaded', () => { if (!dbSizeBadge) return; dbSizeBadge.textContent = '용량 확인 중'; - const targetUrl = appUrl('/api/settings/database-size'); + const targetUrl = appUrl(`/api/settings/database-size`); try { const response = await fetch(targetUrl); if (!response.ok) { @@ -198,7 +198,7 @@ document.addEventListener('DOMContentLoaded', () => { // 여기서는 is_admin 확인 + 세션 만료 시 다시 dbx-main 으로 보내는 역할만 한다. async function checkAuth() { try { - const res = await fetch(appUrl('/api/users/me')); + const res = await fetch(appUrl(`/api/users/me`)); if (res.ok) { currentUser = await res.json(); if (btnDataManagement) { @@ -207,7 +207,7 @@ document.addEventListener('DOMContentLoaded', () => { } else if (res.status === 401) { // 세션 만료 — dbx-main 로그인으로 위임 (next 로 현재 위치 보존) const next = encodeURIComponent((APP_BASE_PATH || '') + '/'); - window.location.href = appUrl('/login') + '?next=' + next; + window.location.href = appUrl(`/login`) + '?next=' + next; } } catch (error) { console.error('Auth check error', error); @@ -313,7 +313,7 @@ document.addEventListener('DOMContentLoaded', () => { }; try { - const res = await fetch(appUrl('/api/orders/upload'), { + const res = await fetch(appUrl(`/api/orders/upload`), { method: 'POST', body: formData }); @@ -970,7 +970,7 @@ document.addEventListener('DOMContentLoaded', () => { }, 500); try { - const res = await fetch(appUrl('/api/settings/optimize'), { + const res = await fetch(appUrl(`/api/settings/optimize`), { method: 'POST' }); const data = await res.json(); @@ -1049,7 +1049,7 @@ document.addEventListener('DOMContentLoaded', () => { btnBackupDb.innerHTML = ' 백업 생성 중...'; try { - const res = await fetch(appUrl('/api/settings/backup-db')); + const res = await fetch(appUrl(`/api/settings/backup-db`)); if (res.ok) { await downloadFileFromResponse(res, 'OMS_DB_backup.db'); showToast('DB 백업 다운로드가 완료되었습니다.', 'success'); @@ -1074,7 +1074,7 @@ document.addEventListener('DOMContentLoaded', () => { btnDownloadEventLog.innerHTML = ' 로그 생성 중...'; try { - const res = await fetch(appUrl('/api/settings/download-log')); + const res = await fetch(appUrl(`/api/settings/download-log`)); if (res.ok) { await downloadFileFromResponse(res, 'OMS_event_log.csv'); showToast('이벤트 로그 다운로드가 완료되었습니다.', 'success'); @@ -1174,7 +1174,7 @@ document.addEventListener('DOMContentLoaded', () => { } try { - const res = await fetch(appUrl('/api/settings/restore-db'), { + const res = await fetch(appUrl(`/api/settings/restore-db`), { method: 'POST', body: formData }); @@ -1297,7 +1297,7 @@ document.addEventListener('DOMContentLoaded', () => { if (deleteEventSource) deleteEventSource.close(); }; - const res = await fetch(appUrl('/api/settings/delete-orders-by-date-range'), { + const res = await fetch(appUrl(`/api/settings/delete-orders-by-date-range`), { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ @@ -1355,7 +1355,7 @@ document.addEventListener('DOMContentLoaded', () => { btnDeleteAllOrders.innerHTML = ' 전체 삭제 중...'; try { - const res = await fetch(appUrl('/api/settings/delete-all-orders'), { + const res = await fetch(appUrl(`/api/settings/delete-all-orders`), { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ password: deletePassword })