From 02c0cc44e1487705fd2c12e629d10543e02187e2 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Wed, 31 Dec 2025 21:29:56 +0100 Subject: [PATCH] fix issues --- .../development/use-cases/DemoLoginUseCase.ts | 1 + apps/api/src/main.ts | 16 +++++-------- .../shared/logging/InitializationLogger.ts | 24 +++++++++++++++++++ apps/api/src/shared/logging/LoggedProvider.ts | 7 ++++++ .../infrastructure/EnhancedErrorReporter.ts | 7 ++++-- 5 files changed, 43 insertions(+), 12 deletions(-) create mode 100644 apps/api/src/shared/logging/InitializationLogger.ts create mode 100644 apps/api/src/shared/logging/LoggedProvider.ts diff --git a/apps/api/src/development/use-cases/DemoLoginUseCase.ts b/apps/api/src/development/use-cases/DemoLoginUseCase.ts index 5a7611ade..0f452a506 100644 --- a/apps/api/src/development/use-cases/DemoLoginUseCase.ts +++ b/apps/api/src/development/use-cases/DemoLoginUseCase.ts @@ -76,6 +76,7 @@ export class DemoLoginUseCase implements UseCase { process.exit(1); }); -process.on('unhandledRejection', (reason: any) => { - console.error('🚨 Unhandled Rejection:', reason?.message || reason); +process.on('unhandledRejection', (reason: unknown) => { + console.error('🚨 Unhandled Rejection:', reason instanceof Error ? reason.message : reason); process.exit(1); }); diff --git a/apps/api/src/shared/logging/InitializationLogger.ts b/apps/api/src/shared/logging/InitializationLogger.ts new file mode 100644 index 000000000..17d6e7fad --- /dev/null +++ b/apps/api/src/shared/logging/InitializationLogger.ts @@ -0,0 +1,24 @@ +export class InitializationLogger { + private static instance: InitializationLogger; + + private constructor() {} + + static getInstance(): InitializationLogger { + if (!InitializationLogger.instance) { + InitializationLogger.instance = new InitializationLogger(); + } + return InitializationLogger.instance; + } + + log(message: string): void { + console.log(`[Initialization] ${message}`); + } + + error(message: string): void { + console.error(`[Initialization] ${message}`); + } + + warn(message: string): void { + console.warn(`[Initialization] ${message}`); + } +} \ No newline at end of file diff --git a/apps/api/src/shared/logging/LoggedProvider.ts b/apps/api/src/shared/logging/LoggedProvider.ts new file mode 100644 index 000000000..51d0782b6 --- /dev/null +++ b/apps/api/src/shared/logging/LoggedProvider.ts @@ -0,0 +1,7 @@ +import { Provider } from '@nestjs/common'; +import { InitializationLogger } from './InitializationLogger'; + +export function createLoggedProviders(providers: Provider[], logger: InitializationLogger): Provider[] { + logger.log(`Creating ${providers.length} providers`); + return providers; +} \ No newline at end of file diff --git a/apps/website/lib/infrastructure/EnhancedErrorReporter.ts b/apps/website/lib/infrastructure/EnhancedErrorReporter.ts index f983e9bd6..e275de190 100644 --- a/apps/website/lib/infrastructure/EnhancedErrorReporter.ts +++ b/apps/website/lib/infrastructure/EnhancedErrorReporter.ts @@ -106,9 +106,12 @@ export class EnhancedErrorReporter implements ErrorReporter { const severity = error.getSeverity(); const message = isDev ? error.getDeveloperMessage() : error.getUserMessage(); + const contextObj = typeof context === 'object' && context !== null ? context : {}; + const errorContextObj = typeof error.context === 'object' && error.context !== null ? error.context : {}; + const logContext = { - ...error.context, - ...context, + ...errorContextObj, + ...contextObj, type: error.type, isRetryable: error.isRetryable(), isConnectivity: error.isConnectivityIssue(),