fix
This commit is contained in:
@@ -6,7 +6,11 @@ async function api(path, options = {}) {
|
|||||||
})
|
})
|
||||||
const data = await response.json().catch(() => ({}))
|
const data = await response.json().catch(() => ({}))
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
const err = new Error(data.error || `Fehler ${response.status}`)
|
const fallback =
|
||||||
|
response.status === 502
|
||||||
|
? 'Server nicht erreichbar (502). Bitte kurz warten und Seite neu laden – ggf. läuft ein Update auf project.webklar.com.'
|
||||||
|
: `Fehler ${response.status}`
|
||||||
|
const err = new Error(data.error || fallback)
|
||||||
err.status = response.status
|
err.status = response.status
|
||||||
if (data.retryAfterSeconds) err.retryAfterSeconds = data.retryAfterSeconds
|
if (data.retryAfterSeconds) err.retryAfterSeconds = data.retryAfterSeconds
|
||||||
throw err
|
throw err
|
||||||
@@ -181,7 +185,7 @@ async function initDashboardPage() {
|
|||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
loading.classList.add('hidden')
|
loading.classList.add('hidden')
|
||||||
if (err.message.includes('401') || err.message.includes('Nicht angemeldet')) {
|
if (err.status === 401 || err.message.includes('Nicht angemeldet')) {
|
||||||
window.location.href = '/login.html'
|
window.location.href = '/login.html'
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ const publicDir = path.join(__dirname, '..', 'public')
|
|||||||
assertServerConfig()
|
assertServerConfig()
|
||||||
|
|
||||||
const app = express()
|
const app = express()
|
||||||
|
app.set('trust proxy', 1)
|
||||||
app.use(sessionMiddleware())
|
app.use(sessionMiddleware())
|
||||||
app.use(express.json({ limit: '2mb' }))
|
app.use(express.json({ limit: '2mb' }))
|
||||||
|
|
||||||
@@ -48,7 +49,14 @@ app.get('/', (_req, res) => {
|
|||||||
res.redirect('/login.html')
|
res.redirect('/login.html')
|
||||||
})
|
})
|
||||||
|
|
||||||
const server = app.listen(config.port, () => {
|
app.use((err, _req, res, _next) => {
|
||||||
|
console.error('[server] Unbehandelter Fehler:', err)
|
||||||
|
if (!res.headersSent) {
|
||||||
|
res.status(500).json({ error: err.message || 'Interner Serverfehler' })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const server = app.listen(config.port, '0.0.0.0', () => {
|
||||||
console.log(`Webklar Kundenbereich läuft auf Port ${config.port}`)
|
console.log(`Webklar Kundenbereich läuft auf Port ${config.port}`)
|
||||||
verifyDatabaseAccess().then((result) => {
|
verifyDatabaseAccess().then((result) => {
|
||||||
if (result.ok) return
|
if (result.ok) return
|
||||||
|
|||||||
@@ -60,22 +60,6 @@ async function adminFetch(path, { method = 'GET', body, queries = [] } = {}) {
|
|||||||
error.status = response.status >= 500 ? 500 : response.status
|
error.status = response.status >= 500 ? 500 : response.status
|
||||||
error.code = data?.code
|
error.code = data?.code
|
||||||
error.type = data?.type
|
error.type = data?.type
|
||||||
if (response.status === 401 && data?.type === 'user_unauthorized') {
|
|
||||||
// #region agent log
|
|
||||||
fetch('http://127.0.0.1:7281/ingest/30e8e71c-b377-4e72-84f9-593826c6d234', {
|
|
||||||
method: 'POST',
|
|
||||||
headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '80bbfc' },
|
|
||||||
body: JSON.stringify({
|
|
||||||
sessionId: '80bbfc',
|
|
||||||
location: 'appwriteAdmin.js:adminFetch',
|
|
||||||
message: 'API key unauthorized',
|
|
||||||
data: { path, status: response.status, type: data?.type, code: data?.code },
|
|
||||||
hypothesisId: 'H9',
|
|
||||||
timestamp: Date.now(),
|
|
||||||
}),
|
|
||||||
}).catch(() => {})
|
|
||||||
// #endregion
|
|
||||||
}
|
|
||||||
throw error
|
throw error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user