Nginx sub_filter 치환 규칙 우회를 위해 appUrl 호출 시 백틱 적용
This commit is contained in:
+11
-11
@@ -109,7 +109,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
checkAuth();
|
checkAuth();
|
||||||
|
|
||||||
function logUiEvent(action, details = {}) {
|
function logUiEvent(action, details = {}) {
|
||||||
fetch(appUrl('/api/settings/log-ui-event'), {
|
fetch(appUrl(`/api/settings/log-ui-event`), {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ action, details })
|
body: JSON.stringify({ action, details })
|
||||||
@@ -120,7 +120,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
if (!dbSizeBadge) return;
|
if (!dbSizeBadge) return;
|
||||||
|
|
||||||
dbSizeBadge.textContent = '용량 확인 중';
|
dbSizeBadge.textContent = '용량 확인 중';
|
||||||
const targetUrl = appUrl('/api/settings/database-size');
|
const targetUrl = appUrl(`/api/settings/database-size`);
|
||||||
try {
|
try {
|
||||||
const response = await fetch(targetUrl);
|
const response = await fetch(targetUrl);
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
@@ -198,7 +198,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
// 여기서는 is_admin 확인 + 세션 만료 시 다시 dbx-main 으로 보내는 역할만 한다.
|
// 여기서는 is_admin 확인 + 세션 만료 시 다시 dbx-main 으로 보내는 역할만 한다.
|
||||||
async function checkAuth() {
|
async function checkAuth() {
|
||||||
try {
|
try {
|
||||||
const res = await fetch(appUrl('/api/users/me'));
|
const res = await fetch(appUrl(`/api/users/me`));
|
||||||
if (res.ok) {
|
if (res.ok) {
|
||||||
currentUser = await res.json();
|
currentUser = await res.json();
|
||||||
if (btnDataManagement) {
|
if (btnDataManagement) {
|
||||||
@@ -207,7 +207,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
} else if (res.status === 401) {
|
} else if (res.status === 401) {
|
||||||
// 세션 만료 — dbx-main 로그인으로 위임 (next 로 현재 위치 보존)
|
// 세션 만료 — dbx-main 로그인으로 위임 (next 로 현재 위치 보존)
|
||||||
const next = encodeURIComponent((APP_BASE_PATH || '') + '/');
|
const next = encodeURIComponent((APP_BASE_PATH || '') + '/');
|
||||||
window.location.href = appUrl('/login') + '?next=' + next;
|
window.location.href = appUrl(`/login`) + '?next=' + next;
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Auth check error', error);
|
console.error('Auth check error', error);
|
||||||
@@ -313,7 +313,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await fetch(appUrl('/api/orders/upload'), {
|
const res = await fetch(appUrl(`/api/orders/upload`), {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: formData
|
body: formData
|
||||||
});
|
});
|
||||||
@@ -970,7 +970,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
}, 500);
|
}, 500);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await fetch(appUrl('/api/settings/optimize'), {
|
const res = await fetch(appUrl(`/api/settings/optimize`), {
|
||||||
method: 'POST'
|
method: 'POST'
|
||||||
});
|
});
|
||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
@@ -1049,7 +1049,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
btnBackupDb.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> 백업 생성 중...';
|
btnBackupDb.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> 백업 생성 중...';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await fetch(appUrl('/api/settings/backup-db'));
|
const res = await fetch(appUrl(`/api/settings/backup-db`));
|
||||||
if (res.ok) {
|
if (res.ok) {
|
||||||
await downloadFileFromResponse(res, 'OMS_DB_backup.db');
|
await downloadFileFromResponse(res, 'OMS_DB_backup.db');
|
||||||
showToast('DB 백업 다운로드가 완료되었습니다.', 'success');
|
showToast('DB 백업 다운로드가 완료되었습니다.', 'success');
|
||||||
@@ -1074,7 +1074,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
btnDownloadEventLog.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> 로그 생성 중...';
|
btnDownloadEventLog.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> 로그 생성 중...';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await fetch(appUrl('/api/settings/download-log'));
|
const res = await fetch(appUrl(`/api/settings/download-log`));
|
||||||
if (res.ok) {
|
if (res.ok) {
|
||||||
await downloadFileFromResponse(res, 'OMS_event_log.csv');
|
await downloadFileFromResponse(res, 'OMS_event_log.csv');
|
||||||
showToast('이벤트 로그 다운로드가 완료되었습니다.', 'success');
|
showToast('이벤트 로그 다운로드가 완료되었습니다.', 'success');
|
||||||
@@ -1174,7 +1174,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await fetch(appUrl('/api/settings/restore-db'), {
|
const res = await fetch(appUrl(`/api/settings/restore-db`), {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: formData
|
body: formData
|
||||||
});
|
});
|
||||||
@@ -1297,7 +1297,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
if (deleteEventSource) deleteEventSource.close();
|
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',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
@@ -1355,7 +1355,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
btnDeleteAllOrders.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> 전체 삭제 중...';
|
btnDeleteAllOrders.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> 전체 삭제 중...';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await fetch(appUrl('/api/settings/delete-all-orders'), {
|
const res = await fetch(appUrl(`/api/settings/delete-all-orders`), {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
body: JSON.stringify({ password: deletePassword })
|
body: JSON.stringify({ password: deletePassword })
|
||||||
|
|||||||
Reference in New Issue
Block a user