From d260f00756f05ba348e0b193b0da862b083720c4 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 17 Jul 2026 08:52:16 +0200 Subject: [PATCH] =?UTF-8?q?Verbessere=20Fehlerbehandlung=20in=20der=20Vers?= =?UTF-8?q?chl=C3=BCsselung=20und=20PDF-Generierung=20durch=20Hinzuf=C3=BC?= =?UTF-8?q?gen=20von=20Ursacheninformationen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/utils/encryption.js | 8 ++++---- server/utils/pdf-generator-service.js | 4 ++-- server/utils/spielplan-data.js | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/server/utils/encryption.js b/server/utils/encryption.js index 4b78b61..65f0239 100755 --- a/server/utils/encryption.js +++ b/server/utils/encryption.js @@ -82,7 +82,7 @@ function decryptLegacyCBC(encryptedData, password) { return decrypted.toString('utf8') } catch (error) { // Re-throw mit mehr Kontext - throw new Error(`Legacy CBC Entschlüsselung fehlgeschlagen: ${error.message}`) + throw new Error(`Legacy CBC Entschlüsselung fehlgeschlagen: ${error.message}`, { cause: error }) } } @@ -121,7 +121,7 @@ function decryptV2GCM(encryptedData, password) { return decrypted.toString('utf8') } catch (error) { // Re-throw mit mehr Kontext - throw new Error(`GCM v2 Entschlüsselung fehlgeschlagen: ${error.message}`) + throw new Error(`GCM v2 Entschlüsselung fehlgeschlagen: ${error.message}`, { cause: error }) } } @@ -133,7 +133,7 @@ export function encrypt(text, password) { return encryptV2GCM(text, password) } catch (error) { console.error('Verschlüsselungsfehler:', error) - throw new Error('Fehler beim Verschlüsseln der Daten') + throw new Error('Fehler beim Verschlüsseln der Daten', { cause: error }) } } @@ -163,7 +163,7 @@ export function decrypt(encryptedData, password) { if (error.message.includes('Entschlüsselung fehlgeschlagen')) { throw error } - throw new Error(`Fehler beim Entschlüsseln der Daten: ${error.message}`) + throw new Error(`Fehler beim Entschlüsseln der Daten: ${error.message}`, { cause: error }) } } diff --git a/server/utils/pdf-generator-service.js b/server/utils/pdf-generator-service.js index 0b9a92c..586ebdf 100755 --- a/server/utils/pdf-generator-service.js +++ b/server/utils/pdf-generator-service.js @@ -73,8 +73,8 @@ export class PDFGeneratorService { try { await fs.access(this.fallbackTemplatePath) return this.fallbackTemplatePath - } catch (_fallbackError) { - throw new Error('No PDF template found') + } catch (fallbackError) { + throw new Error('No PDF template found', { cause: fallbackError }) } } } diff --git a/server/utils/spielplan-data.js b/server/utils/spielplan-data.js index 8c99b83..7011906 100755 --- a/server/utils/spielplan-data.js +++ b/server/utils/spielplan-data.js @@ -448,7 +448,7 @@ export async function listSpielplanSeasons() { const bySlug = new Map() for (const directory of directories) { - let entries = [] + let entries try { entries = await fs.readdir(directory) } catch (error) {