From ea7a48a9956ed5b2ac00ed8d76c93cb08c6f0c32 Mon Sep 17 00:00:00 2001 From: rene Date: Sun, 17 May 2026 13:38:32 +0200 Subject: [PATCH] =?UTF-8?q?Error=20handling=20in=20Admin-Queries=20(loadin?= =?UTF-8?q?g=20bleibt=20nicht=20h=C3=A4ngen)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/routes/admin/dashboard/+page.svelte | 33 ++++++++++++--------- app/src/routes/admin/logs/+page.svelte | 25 +++++++++------- app/src/routes/admin/stations/+page.svelte | 19 +++++++----- 3 files changed, 46 insertions(+), 31 deletions(-) diff --git a/app/src/routes/admin/dashboard/+page.svelte b/app/src/routes/admin/dashboard/+page.svelte index 14845c6..33eb082 100644 --- a/app/src/routes/admin/dashboard/+page.svelte +++ b/app/src/routes/admin/dashboard/+page.svelte @@ -14,22 +14,27 @@ let loading = $state(true); onMount(async () => { - const today = new Date(); - today.setHours(0, 0, 0, 0); - const tenantId = (pb.authStore.record as any)?.tenant; + try { + const today = new Date(); + today.setHours(0, 0, 0, 0); + const tenantId = (pb.authStore.record as any)?.tenant; - const result = await pb.collection('check_logs').getList(1, 50, { - filter: `tenant = "${tenantId}" && created >= "${today.toISOString()}"`, - expand: 'station', - sort: '-created' - }); + const result = await pb.collection('check_logs').getList(1, 50, { + filter: `tenant = "${tenantId}" && created >= "${today.toISOString()}"`, + expand: 'station', + sort: '-created' + }); - logs = result.items; - stats.total = result.totalItems; - stats.ok = logs.filter(l => l.status === 'ok').length; - stats.abweichung = logs.filter(l => l.status === 'abweichung').length; - stats.kritisch = logs.filter(l => l.status === 'kritisch').length; - loading = false; + logs = result.items; + stats.total = result.totalItems; + stats.ok = logs.filter(l => l.status === 'ok').length; + stats.abweichung = logs.filter(l => l.status === 'abweichung').length; + stats.kritisch = logs.filter(l => l.status === 'kritisch').length; + } catch { + // Keine Einträge oder Zugriffsrechte noch nicht gesetzt + } finally { + loading = false; + } }); function formatTime(iso: string) { diff --git a/app/src/routes/admin/logs/+page.svelte b/app/src/routes/admin/logs/+page.svelte index 737a905..e72639e 100644 --- a/app/src/routes/admin/logs/+page.svelte +++ b/app/src/routes/admin/logs/+page.svelte @@ -19,16 +19,21 @@ async function loadPage(p: number) { loading = true; - const tenantId = (pb.authStore.record as any)?.tenant; - const result = await pb.collection('check_logs').getList(p, PER_PAGE, { - filter: `tenant = "${tenantId}"`, - expand: 'station', - sort: '-created' - }); - logs = result.items; - page = p; - totalPages = Math.ceil(result.totalItems / PER_PAGE); - loading = false; + try { + const tenantId = (pb.authStore.record as any)?.tenant; + const result = await pb.collection('check_logs').getList(p, PER_PAGE, { + filter: `tenant = "${tenantId}"`, + expand: 'station', + sort: '-created' + }); + logs = result.items; + page = p; + totalPages = Math.ceil(result.totalItems / PER_PAGE); + } catch { + // Keine Einträge + } finally { + loading = false; + } } function formatDate(iso: string) { diff --git a/app/src/routes/admin/stations/+page.svelte b/app/src/routes/admin/stations/+page.svelte index f7927f8..e36bd79 100644 --- a/app/src/routes/admin/stations/+page.svelte +++ b/app/src/routes/admin/stations/+page.svelte @@ -15,13 +15,18 @@ let copied = $state(null); onMount(async () => { - const tenantId = (pb.authStore.record as any)?.tenant; - const result = await pb.collection('stations').getFullList({ - filter: `tenant = "${tenantId}" && active = true`, - sort: 'name' - }); - stations = result; - loading = false; + try { + const tenantId = (pb.authStore.record as any)?.tenant; + const result = await pb.collection('stations').getFullList({ + filter: `tenant = "${tenantId}" && active = true`, + sort: 'name' + }); + stations = result; + } catch { + // Keine Stationen + } finally { + loading = false; + } }); function qrUrl(qrId: string) {