From b74cb30cf6d3d76edab7527319a8643377b96ae9 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 21 Nov 2025 17:02:25 +0100 Subject: [PATCH] Enhance error handling in MyTischtennisClient and MyTischtennisService. Include status codes in error messages for better debugging and consistency across login failure responses. --- backend/clients/myTischtennisClient.js | 7 ++++--- backend/services/myTischtennisService.js | 8 ++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/backend/clients/myTischtennisClient.js b/backend/clients/myTischtennisClient.js index 1af6b69..2647b0c 100644 --- a/backend/clients/myTischtennisClient.js +++ b/backend/clients/myTischtennisClient.js @@ -86,11 +86,12 @@ class MyTischtennisClient { cookie: authCookie.split(';')[0] // Just the cookie value without attributes }; } catch (error) { - console.error('MyTischtennis login error:', error.message); + const statusCode = error.response?.status || 500; + console.error('MyTischtennis login error:', error.message, `(Status: ${statusCode})`); return { success: false, - error: error.response?.data?.message || 'Login fehlgeschlagen', - status: error.response?.status || 500 + error: error.response?.data?.message || error.message || 'Login fehlgeschlagen', + status: statusCode }; } } diff --git a/backend/services/myTischtennisService.js b/backend/services/myTischtennisService.js index 17cb480..a35677a 100644 --- a/backend/services/myTischtennisService.js +++ b/backend/services/myTischtennisService.js @@ -255,8 +255,12 @@ class MyTischtennisService { } else { await account.save(); // Save lastLoginAttempt const errorMessage = loginResult.error || 'myTischtennis-Login fehlgeschlagen'; - console.error('[myTischtennisService.verifyLogin] Login failed:', errorMessage); - throw new HttpError(errorMessage, 401); + // Verwende den Status-Code vom myTischtennisClient, falls vorhanden, sonst 401 + const statusCode = loginResult.status && loginResult.status >= 400 && loginResult.status < 600 + ? loginResult.status + : 401; + console.error('[myTischtennisService.verifyLogin] Login failed:', errorMessage, `(Status: ${statusCode})`); + throw new HttpError(errorMessage, statusCode); } }