From af79b9a8717f15ffdfc6967a1cba5943053aa9c5 Mon Sep 17 00:00:00 2001 From: Guillermo Pages Date: Mon, 24 Nov 2025 11:12:49 +0100 Subject: [PATCH] fix: add validation and diagnostics for API settings transform Add explicit checks for required TranslatedField wrapper structure and throw descriptive errors with actual API response data when fields are missing. This will help diagnose why the user context API is failing despite returning 200 status. --- src/lib/types.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/lib/types.ts b/src/lib/types.ts index e4084fa..c83e441 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -324,6 +324,17 @@ export interface UserSettings { * Extracts the .value property from each TranslatedField. */ export function transformApiSettings(apiSettings: ApiUserSettingsResponse): UserSettings { + // Validate that all required fields with TranslatedField wrappers are present + if (!apiSettings.onboarding?.value) { + throw new Error('API settings missing required field: onboarding.value. Received: ' + JSON.stringify(apiSettings)); + } + if (!apiSettings.default_remote_sport) { + throw new Error('API settings missing required field: default_remote_sport. Received: ' + JSON.stringify(apiSettings)); + } + if (!apiSettings.default_remote_member_id) { + throw new Error('API settings missing required field: default_remote_member_id. Received: ' + JSON.stringify(apiSettings)); + } + return { onboarding: apiSettings.onboarding.value, default_remote_sport: apiSettings.default_remote_sport.value,