From 2914010b6846d172abbec19ae42ef4c6314d9eb5 Mon Sep 17 00:00:00 2001 From: Marcel Date: Wed, 20 May 2026 20:54:32 +0200 Subject: [PATCH] refactor(frontend): replace all as-unknown-as error casts with extractErrorCode Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/routes/admin/+layout.server.ts | 14 +++---- .../routes/admin/groups/[id]/+page.server.ts | 12 +++--- .../routes/admin/groups/new/+page.server.ts | 7 ++-- .../src/routes/admin/invites/+page.server.ts | 18 ++++----- frontend/src/routes/admin/ocr/+page.server.ts | 5 +-- .../admin/ocr/[personId]/+page.server.ts | 5 +-- .../routes/admin/ocr/global/+page.server.ts | 5 +-- .../routes/admin/tags/[id]/+page.server.ts | 17 ++++---- .../routes/admin/users/[id]/+page.server.ts | 12 +++--- .../routes/admin/users/new/+page.server.ts | 7 ++-- .../src/routes/briefwechsel/+page.server.ts | 11 ++--- frontend/src/routes/documents/+page.server.ts | 5 +-- .../src/routes/documents/[id]/+page.server.ts | 5 +-- .../documents/[id]/edit/+page.server.ts | 10 ++--- .../src/routes/enrich/[id]/+page.server.ts | 5 +-- .../src/routes/geschichten/+page.server.ts | 5 +-- .../routes/geschichten/[id]/+page.server.ts | 5 +-- .../geschichten/[id]/edit/+page.server.ts | 5 +-- .../src/routes/persons/[id]/+page.server.ts | 8 ++-- .../routes/persons/[id]/edit/+page.server.ts | 40 +++++++++++-------- .../src/routes/persons/new/+page.server.ts | 5 +-- frontend/src/routes/profile/+page.server.ts | 12 +++--- frontend/src/routes/stammbaum/+page.server.ts | 5 +-- .../src/routes/users/[id]/+page.server.ts | 5 +-- 24 files changed, 116 insertions(+), 112 deletions(-) diff --git a/frontend/src/routes/admin/+layout.server.ts b/frontend/src/routes/admin/+layout.server.ts index b148bba2..56e0b7f7 100644 --- a/frontend/src/routes/admin/+layout.server.ts +++ b/frontend/src/routes/admin/+layout.server.ts @@ -1,6 +1,6 @@ import { error } from '@sveltejs/kit'; import { env } from '$env/dynamic/private'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import type { components } from '$lib/generated/api'; @@ -34,16 +34,16 @@ export async function load({ fetch, locals }) { ]); if (!usersResult.response.ok) { - const code = (usersResult.error as unknown as { code?: string })?.code; - throw error(usersResult.response.status, getErrorMessage(code)); + throw error(usersResult.response.status, getErrorMessage(extractErrorCode(usersResult.error))); } if (!groupsResult.response.ok) { - const code = (groupsResult.error as unknown as { code?: string })?.code; - throw error(groupsResult.response.status, getErrorMessage(code)); + throw error( + groupsResult.response.status, + getErrorMessage(extractErrorCode(groupsResult.error)) + ); } if (!tagsResult.response.ok) { - const code = (tagsResult.error as unknown as { code?: string })?.code; - throw error(tagsResult.response.status, getErrorMessage(code)); + throw error(tagsResult.response.status, getErrorMessage(extractErrorCode(tagsResult.error))); } let inviteCount = 0; diff --git a/frontend/src/routes/admin/groups/[id]/+page.server.ts b/frontend/src/routes/admin/groups/[id]/+page.server.ts index a4da8b4d..efc57f8a 100644 --- a/frontend/src/routes/admin/groups/[id]/+page.server.ts +++ b/frontend/src/routes/admin/groups/[id]/+page.server.ts @@ -1,6 +1,6 @@ import { error, fail, redirect } from '@sveltejs/kit'; import type { PageServerLoad, Actions } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export const load: PageServerLoad = async ({ params, parent }) => { @@ -24,8 +24,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { error: getErrorMessage(code) }); + return fail(result.response.status, { + error: getErrorMessage(extractErrorCode(result.error)) + }); } return { success: true }; @@ -38,8 +39,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { error: getErrorMessage(code) }); + return fail(result.response.status, { + error: getErrorMessage(extractErrorCode(result.error)) + }); } throw redirect(303, '/admin/groups'); diff --git a/frontend/src/routes/admin/groups/new/+page.server.ts b/frontend/src/routes/admin/groups/new/+page.server.ts index c8006164..e9b3ac1a 100644 --- a/frontend/src/routes/admin/groups/new/+page.server.ts +++ b/frontend/src/routes/admin/groups/new/+page.server.ts @@ -1,6 +1,6 @@ import { fail, redirect } from '@sveltejs/kit'; import type { Actions } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export const actions: Actions = { @@ -16,8 +16,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { error: getErrorMessage(code) }); + return fail(result.response.status, { + error: getErrorMessage(extractErrorCode(result.error)) + }); } throw redirect(303, '/admin/groups'); diff --git a/frontend/src/routes/admin/invites/+page.server.ts b/frontend/src/routes/admin/invites/+page.server.ts index 9123de94..3cde71d3 100644 --- a/frontend/src/routes/admin/invites/+page.server.ts +++ b/frontend/src/routes/admin/invites/+page.server.ts @@ -1,5 +1,5 @@ import { fail } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import type { Actions, PageServerLoad } from './$types'; import type { components } from '$lib/generated/api'; @@ -25,8 +25,7 @@ export const load: PageServerLoad = async ({ url, fetch }) => { let invites: InviteListItem[] = []; let loadError: string | null = null; if (!invitesResult.response.ok) { - const code = (invitesResult.error as unknown as { code?: string })?.code; - loadError = code ?? 'INTERNAL_ERROR'; + loadError = extractErrorCode(invitesResult.error) ?? 'INTERNAL_ERROR'; } else { invites = (invitesResult.data ?? []) as InviteListItem[]; } @@ -34,8 +33,7 @@ export const load: PageServerLoad = async ({ url, fetch }) => { let groups: UserGroup[] = []; let groupsLoadError: string | null = null; if (!groupsResult.response.ok) { - const code = (groupsResult.error as unknown as { code?: string })?.code; - groupsLoadError = code ?? 'INTERNAL_ERROR'; + groupsLoadError = extractErrorCode(groupsResult.error) ?? 'INTERNAL_ERROR'; } else { const raw = groupsResult.data ?? []; groups = [...raw].sort((a, b) => a.name.localeCompare(b.name)); @@ -62,8 +60,9 @@ export const actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { createError: code ?? 'INTERNAL_ERROR' }); + return fail(result.response.status, { + createError: extractErrorCode(result.error) ?? 'INTERNAL_ERROR' + }); } return { created: result.data! as InviteListItem }; @@ -78,8 +77,9 @@ export const actions = { const result = await api.DELETE('/api/invites/{id}', { params: { path: { id } } }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { revokeError: code ?? 'INTERNAL_ERROR' }); + return fail(result.response.status, { + revokeError: extractErrorCode(result.error) ?? 'INTERNAL_ERROR' + }); } return { revoked: id }; diff --git a/frontend/src/routes/admin/ocr/+page.server.ts b/frontend/src/routes/admin/ocr/+page.server.ts index bb76e818..e6ae5b65 100644 --- a/frontend/src/routes/admin/ocr/+page.server.ts +++ b/frontend/src/routes/admin/ocr/+page.server.ts @@ -1,6 +1,6 @@ import { error } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export const load: PageServerLoad = async ({ fetch }) => { @@ -8,8 +8,7 @@ export const load: PageServerLoad = async ({ fetch }) => { const result = await api.GET('/api/ocr/training-info'); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } return { trainingInfo: result.data! }; diff --git a/frontend/src/routes/admin/ocr/[personId]/+page.server.ts b/frontend/src/routes/admin/ocr/[personId]/+page.server.ts index ec658a31..e8b03b65 100644 --- a/frontend/src/routes/admin/ocr/[personId]/+page.server.ts +++ b/frontend/src/routes/admin/ocr/[personId]/+page.server.ts @@ -1,6 +1,6 @@ import { error } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export const load: PageServerLoad = async ({ params, fetch }) => { @@ -10,8 +10,7 @@ export const load: PageServerLoad = async ({ params, fetch }) => { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } return { history: result.data!, personId: params.personId }; diff --git a/frontend/src/routes/admin/ocr/global/+page.server.ts b/frontend/src/routes/admin/ocr/global/+page.server.ts index a9f6d743..74b0449d 100644 --- a/frontend/src/routes/admin/ocr/global/+page.server.ts +++ b/frontend/src/routes/admin/ocr/global/+page.server.ts @@ -1,6 +1,6 @@ import { error } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export const load: PageServerLoad = async ({ fetch }) => { @@ -8,8 +8,7 @@ export const load: PageServerLoad = async ({ fetch }) => { const result = await api.GET('/api/ocr/training-info/global'); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } return { history: result.data! }; diff --git a/frontend/src/routes/admin/tags/[id]/+page.server.ts b/frontend/src/routes/admin/tags/[id]/+page.server.ts index c88b6b5e..24fc7059 100644 --- a/frontend/src/routes/admin/tags/[id]/+page.server.ts +++ b/frontend/src/routes/admin/tags/[id]/+page.server.ts @@ -1,6 +1,6 @@ import { error, fail, redirect } from '@sveltejs/kit'; import type { PageServerLoad, Actions } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export const load: PageServerLoad = async ({ params, parent, url }) => { @@ -25,8 +25,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { error: getErrorMessage(code) }); + return fail(result.response.status, { + error: getErrorMessage(extractErrorCode(result.error)) + }); } return { success: true }; @@ -43,8 +44,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { error: getErrorMessage(code) }); + return fail(result.response.status, { + error: getErrorMessage(extractErrorCode(result.error)) + }); } throw redirect(303, `/admin/tags/${result.data!.id}?merged=1`); @@ -65,8 +67,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { error: getErrorMessage(code) }); + return fail(result.response.status, { + error: getErrorMessage(extractErrorCode(result.error)) + }); } throw redirect(303, '/admin/tags'); diff --git a/frontend/src/routes/admin/users/[id]/+page.server.ts b/frontend/src/routes/admin/users/[id]/+page.server.ts index 38f4e27f..67d59ab8 100644 --- a/frontend/src/routes/admin/users/[id]/+page.server.ts +++ b/frontend/src/routes/admin/users/[id]/+page.server.ts @@ -1,6 +1,6 @@ import { error, fail, redirect } from '@sveltejs/kit'; import type { PageServerLoad, Actions } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import type { components } from '$lib/generated/api'; @@ -55,8 +55,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { error: getErrorMessage(code) }); + return fail(result.response.status, { + error: getErrorMessage(extractErrorCode(result.error)) + }); } return { success: true }; @@ -69,8 +70,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { error: getErrorMessage(code) }); + return fail(result.response.status, { + error: getErrorMessage(extractErrorCode(result.error)) + }); } throw redirect(303, '/admin/users'); diff --git a/frontend/src/routes/admin/users/new/+page.server.ts b/frontend/src/routes/admin/users/new/+page.server.ts index 8eebe742..881455da 100644 --- a/frontend/src/routes/admin/users/new/+page.server.ts +++ b/frontend/src/routes/admin/users/new/+page.server.ts @@ -1,6 +1,6 @@ import { error, fail, redirect } from '@sveltejs/kit'; import type { PageServerLoad, Actions } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export const load: PageServerLoad = async ({ fetch, locals }) => { @@ -35,8 +35,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { error: getErrorMessage(code) }); + return fail(result.response.status, { + error: getErrorMessage(extractErrorCode(result.error)) + }); } throw redirect(303, '/admin/users'); diff --git a/frontend/src/routes/briefwechsel/+page.server.ts b/frontend/src/routes/briefwechsel/+page.server.ts index fd8f5ee4..675c15b2 100644 --- a/frontend/src/routes/briefwechsel/+page.server.ts +++ b/frontend/src/routes/briefwechsel/+page.server.ts @@ -1,6 +1,6 @@ import { error } from '@sveltejs/kit'; import type { components } from '$lib/generated/api'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export async function load({ url, fetch, locals }) { @@ -39,8 +39,7 @@ export async function load({ url, fetch, locals }) { }) .then((result) => { if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } documents = result.data ?? []; }) @@ -49,8 +48,7 @@ export async function load({ url, fetch, locals }) { requests.push( api.GET('/api/persons/{id}', { params: { path: { id: senderId } } }).then((result) => { if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } const p = result.data as { displayName: string } | undefined; if (p) senderName = p.displayName; @@ -62,8 +60,7 @@ export async function load({ url, fetch, locals }) { requests.push( api.GET('/api/persons/{id}', { params: { path: { id: receiverId } } }).then((result) => { if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } const p = result.data as { displayName: string } | undefined; if (p) receiverName = p.displayName; diff --git a/frontend/src/routes/documents/+page.server.ts b/frontend/src/routes/documents/+page.server.ts index 1c9510e9..64f270e5 100644 --- a/frontend/src/routes/documents/+page.server.ts +++ b/frontend/src/routes/documents/+page.server.ts @@ -1,5 +1,5 @@ import { redirect } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import type { components } from '$lib/generated/api'; @@ -103,8 +103,7 @@ export async function load({ url, fetch }) { } const errorMessage: string | null = !result.response.ok - ? (getErrorMessage((result.error as unknown as { code?: string })?.code) ?? - 'Daten konnten nicht geladen werden.') + ? (getErrorMessage(extractErrorCode(result.error)) ?? 'Daten konnten nicht geladen werden.') : null; return { diff --git a/frontend/src/routes/documents/[id]/+page.server.ts b/frontend/src/routes/documents/[id]/+page.server.ts index 478d70ef..62cf5365 100644 --- a/frontend/src/routes/documents/[id]/+page.server.ts +++ b/frontend/src/routes/documents/[id]/+page.server.ts @@ -1,5 +1,5 @@ import { error, redirect } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import { inferredRelationshipLabel } from '$lib/person/relationshipLabels'; @@ -17,8 +17,7 @@ export async function load({ params, fetch }) { if (docResult.response.status === 401) throw redirect(302, '/login'); if (!docResult.response.ok) { - const code = (docResult.error as unknown as { code?: string })?.code; - throw error(docResult.response.status, getErrorMessage(code)); + throw error(docResult.response.status, getErrorMessage(extractErrorCode(docResult.error))); } const document = docResult.data!; diff --git a/frontend/src/routes/documents/[id]/edit/+page.server.ts b/frontend/src/routes/documents/[id]/edit/+page.server.ts index 1dec1ead..4cd24a81 100644 --- a/frontend/src/routes/documents/[id]/edit/+page.server.ts +++ b/frontend/src/routes/documents/[id]/edit/+page.server.ts @@ -1,6 +1,6 @@ import { error, fail, redirect } from '@sveltejs/kit'; import { env } from '$env/dynamic/private'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { parseBackendError, getErrorMessage } from '$lib/shared/errors'; export async function load({ @@ -30,8 +30,7 @@ export async function load({ ]); if (!docResult.response.ok) { - const code = (docResult.error as unknown as { code?: string })?.code; - throw error(docResult.response.status, getErrorMessage(code)); + throw error(docResult.response.status, getErrorMessage(extractErrorCode(docResult.error))); } if (!personsResult.response.ok) { throw error(personsResult.response.status, getErrorMessage('INTERNAL_ERROR')); @@ -76,8 +75,9 @@ export const actions = { // Fetch current document to preserve all existing fields const docResult = await api.GET('/api/documents/{id}', { params: { path: { id: params.id } } }); if (!docResult.response.ok) { - const code = (docResult.error as unknown as { code?: string })?.code; - return fail(docResult.response.status, { error: getErrorMessage(code) }); + return fail(docResult.response.status, { + error: getErrorMessage(extractErrorCode(docResult.error)) + }); } const doc = docResult.data!; diff --git a/frontend/src/routes/enrich/[id]/+page.server.ts b/frontend/src/routes/enrich/[id]/+page.server.ts index b9f2736d..52a9110f 100644 --- a/frontend/src/routes/enrich/[id]/+page.server.ts +++ b/frontend/src/routes/enrich/[id]/+page.server.ts @@ -1,6 +1,6 @@ import { error, redirect } from '@sveltejs/kit'; import { env } from '$env/dynamic/private'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage, parseBackendError } from '$lib/shared/errors'; export async function load({ @@ -31,8 +31,7 @@ export async function load({ ]); if (!docResult.response.ok) { - const code = (docResult.error as unknown as { code?: string })?.code; - throw error(docResult.response.status, getErrorMessage(code)); + throw error(docResult.response.status, getErrorMessage(extractErrorCode(docResult.error))); } const incompleteCount = countResult.response.ok ? (countResult.data?.count ?? 0) : 0; diff --git a/frontend/src/routes/geschichten/+page.server.ts b/frontend/src/routes/geschichten/+page.server.ts index 3d8044a9..6d802e8e 100644 --- a/frontend/src/routes/geschichten/+page.server.ts +++ b/frontend/src/routes/geschichten/+page.server.ts @@ -1,5 +1,5 @@ import { error } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import type { components } from '$lib/generated/api'; import type { PageServerLoad } from './$types'; @@ -25,8 +25,7 @@ export const load: PageServerLoad = async ({ url, fetch }) => { ]); if (!listResult.response.ok) { - const code = (listResult.error as unknown as { code?: string })?.code; - throw error(listResult.response.status, getErrorMessage(code)); + throw error(listResult.response.status, getErrorMessage(extractErrorCode(listResult.error))); } const personFilters = personResults diff --git a/frontend/src/routes/geschichten/[id]/+page.server.ts b/frontend/src/routes/geschichten/[id]/+page.server.ts index 5d28c74e..2689e06d 100644 --- a/frontend/src/routes/geschichten/[id]/+page.server.ts +++ b/frontend/src/routes/geschichten/[id]/+page.server.ts @@ -1,5 +1,5 @@ import { error } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import type { PageServerLoad } from './$types'; @@ -9,8 +9,7 @@ export const load: PageServerLoad = async ({ params, fetch }) => { params: { path: { id: params.id } } }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } return { geschichte: result.data! }; }; diff --git a/frontend/src/routes/geschichten/[id]/edit/+page.server.ts b/frontend/src/routes/geschichten/[id]/edit/+page.server.ts index 53afd234..5544eb73 100644 --- a/frontend/src/routes/geschichten/[id]/edit/+page.server.ts +++ b/frontend/src/routes/geschichten/[id]/edit/+page.server.ts @@ -1,5 +1,5 @@ import { error, redirect } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import type { PageServerLoad } from './$types'; @@ -13,8 +13,7 @@ export const load: PageServerLoad = async ({ params, fetch, parent }) => { params: { path: { id: params.id } } }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } return { geschichte: result.data! }; }; diff --git a/frontend/src/routes/persons/[id]/+page.server.ts b/frontend/src/routes/persons/[id]/+page.server.ts index 2abf9062..bdc81a34 100644 --- a/frontend/src/routes/persons/[id]/+page.server.ts +++ b/frontend/src/routes/persons/[id]/+page.server.ts @@ -1,5 +1,5 @@ import { error } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export async function load({ params, fetch, locals }) { @@ -32,8 +32,10 @@ export async function load({ params, fetch, locals }) { ]); if (!personResult.response.ok) { - const code = (personResult.error as unknown as { code?: string })?.code; - throw error(personResult.response.status, getErrorMessage(code)); + throw error( + personResult.response.status, + getErrorMessage(extractErrorCode(personResult.error)) + ); } return { diff --git a/frontend/src/routes/persons/[id]/edit/+page.server.ts b/frontend/src/routes/persons/[id]/edit/+page.server.ts index d42e2c1a..a48d68ec 100644 --- a/frontend/src/routes/persons/[id]/edit/+page.server.ts +++ b/frontend/src/routes/persons/[id]/edit/+page.server.ts @@ -1,5 +1,5 @@ import { error, fail, redirect } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import { normalizePersonType, @@ -25,8 +25,7 @@ export async function load({ params, fetch, locals }) { ]); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } const person = result.data!; @@ -74,8 +73,9 @@ export const actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { updateError: getErrorMessage(code) }); + return fail(result.response.status, { + updateError: getErrorMessage(extractErrorCode(result.error)) + }); } throw redirect(303, `/persons/${params.id}`); @@ -100,8 +100,9 @@ export const actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { mergeError: getErrorMessage(code) }); + return fail(result.response.status, { + mergeError: getErrorMessage(extractErrorCode(result.error)) + }); } throw redirect(303, `/persons/${targetPersonId}`); @@ -127,8 +128,9 @@ export const actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { aliasError: getErrorMessage(code) }); + return fail(result.response.status, { + aliasError: getErrorMessage(extractErrorCode(result.error)) + }); } return { aliasSuccess: true }; @@ -148,8 +150,9 @@ export const actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { aliasError: getErrorMessage(code) }); + return fail(result.response.status, { + aliasError: getErrorMessage(extractErrorCode(result.error)) + }); } return { aliasSuccess: true }; @@ -166,8 +169,9 @@ export const actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { relationshipError: getErrorMessage(code) }); + return fail(result.response.status, { + relationshipError: getErrorMessage(extractErrorCode(result.error)) + }); } return { relationshipSuccess: true }; }, @@ -211,8 +215,9 @@ export const actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { relationshipError: getErrorMessage(code) }); + return fail(result.response.status, { + relationshipError: getErrorMessage(extractErrorCode(result.error)) + }); } return { relationshipSuccess: true }; }, @@ -230,8 +235,9 @@ export const actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { relationshipError: getErrorMessage(code) }); + return fail(result.response.status, { + relationshipError: getErrorMessage(extractErrorCode(result.error)) + }); } return { relationshipSuccess: true }; } diff --git a/frontend/src/routes/persons/new/+page.server.ts b/frontend/src/routes/persons/new/+page.server.ts index 8dff7899..3231627e 100644 --- a/frontend/src/routes/persons/new/+page.server.ts +++ b/frontend/src/routes/persons/new/+page.server.ts @@ -1,5 +1,5 @@ import { error, fail, redirect } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; import { normalizePersonType, @@ -57,9 +57,8 @@ export const actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; return fail(result.response.status, { - error: getErrorMessage(code), + error: getErrorMessage(extractErrorCode(result.error)), personType, title, firstName, diff --git a/frontend/src/routes/profile/+page.server.ts b/frontend/src/routes/profile/+page.server.ts index ec40ca45..554749ab 100644 --- a/frontend/src/routes/profile/+page.server.ts +++ b/frontend/src/routes/profile/+page.server.ts @@ -1,7 +1,7 @@ import { fail } from '@sveltejs/kit'; import { env } from '$env/dynamic/private'; import type { PageServerLoad, Actions } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; const apiBase = () => env.API_INTERNAL_URL || 'http://localhost:8080'; @@ -27,8 +27,9 @@ export const actions: Actions = { const result = await api.PUT('/api/users/me', { body }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { updateError: getErrorMessage(code) }); + return fail(result.response.status, { + updateError: getErrorMessage(extractErrorCode(result.error)) + }); } return { updateSuccess: true }; @@ -50,8 +51,9 @@ export const actions: Actions = { }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - return fail(result.response.status, { passwordError: getErrorMessage(code) }); + return fail(result.response.status, { + passwordError: getErrorMessage(extractErrorCode(result.error)) + }); } return { passwordSuccess: true }; diff --git a/frontend/src/routes/stammbaum/+page.server.ts b/frontend/src/routes/stammbaum/+page.server.ts index d0c8fc45..f060df29 100644 --- a/frontend/src/routes/stammbaum/+page.server.ts +++ b/frontend/src/routes/stammbaum/+page.server.ts @@ -1,5 +1,5 @@ import { error, redirect } from '@sveltejs/kit'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export async function load({ fetch }) { @@ -9,8 +9,7 @@ export async function load({ fetch }) { if (result.response.status === 401) throw redirect(302, '/login'); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } const network = result.data!; diff --git a/frontend/src/routes/users/[id]/+page.server.ts b/frontend/src/routes/users/[id]/+page.server.ts index 521dbbdd..349e9cc1 100644 --- a/frontend/src/routes/users/[id]/+page.server.ts +++ b/frontend/src/routes/users/[id]/+page.server.ts @@ -1,6 +1,6 @@ import { error } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; -import { createApiClient } from '$lib/shared/api.server'; +import { createApiClient, extractErrorCode } from '$lib/shared/api.server'; import { getErrorMessage } from '$lib/shared/errors'; export const load: PageServerLoad = async ({ params, fetch }) => { @@ -8,8 +8,7 @@ export const load: PageServerLoad = async ({ params, fetch }) => { const result = await api.GET('/api/users/{id}', { params: { path: { id: params.id } } }); if (!result.response.ok) { - const code = (result.error as unknown as { code?: string })?.code; - throw error(result.response.status, getErrorMessage(code)); + throw error(result.response.status, getErrorMessage(extractErrorCode(result.error))); } return { profileUser: result.data! };