fix: add validation and diagnostics for API settings transform
continuous-integration/drone/push Build is passing Details

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.
master
Guillermo Pages 3 weeks ago
parent 55358e4f09
commit af79b9a871

@ -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,

Loading…
Cancel
Save