fix logger

This commit is contained in:
2025-12-15 22:39:17 +01:00
parent 7a11daa878
commit 3b566c973d
110 changed files with 1413 additions and 903 deletions

View File

@@ -2,11 +2,11 @@ import { Module } from '@nestjs/common';
import { AnalyticsController } from './AnalyticsController';
import { AnalyticsService } from './AnalyticsService';
const ILogger_TOKEN = 'ILogger_TOKEN';
const Logger_TOKEN = 'Logger_TOKEN';
const IPAGE_VIEW_REPO_TOKEN = 'IPageViewRepository_TOKEN';
const IENGAGEMENT_REPO_TOKEN = 'IEngagementRepository_TOKEN';
import { ILogger } from '@gridpilot/shared/logging/ILogger';
import { Logger } from '@gridpilot/shared/logging/Logger';
import { IPageViewRepository } from '@gridpilot/analytics/application/repositories/IPageViewRepository';
import { IEngagementRepository } from '@gridpilot/analytics/domain/repositories/IEngagementRepository';
@@ -20,7 +20,7 @@ import { InMemoryEngagementRepository } from '../../../../adapters/analytics/per
providers: [
AnalyticsService,
{
provide: ILogger_TOKEN,
provide: Logger_TOKEN,
useClass: ConsoleLogger,
},
{
@@ -35,7 +35,7 @@ import { InMemoryEngagementRepository } from '../../../../adapters/analytics/per
],
exports: [
AnalyticsService,
ILogger_TOKEN,
Logger_TOKEN,
IPAGE_VIEW_REPO_TOKEN,
IENGAGEMENT_REPO_TOKEN,
],

View File

@@ -2,11 +2,11 @@ import { Injectable, Inject } from '@nestjs/common';
import { RecordEngagementInput, RecordEngagementOutput, RecordPageViewInput, RecordPageViewOutput } from './dto/AnalyticsDto';
import { IPageViewRepository } from '@gridpilot/analytics/application/repositories/IPageViewRepository';
import { IEngagementRepository } from '@gridpilot/analytics/domain/repositories/IEngagementRepository';
import { ILogger } from '@gridpilot/shared/logging/ILogger';
import { Logger } from '@gridpilot/shared/logging/Logger';
import { PageView } from '@gridpilot/analytics/domain/entities/PageView';
import { EngagementEvent } from '@gridpilot/analytics/domain/entities/EngagementEvent';
const ILogger_TOKEN = 'ILogger_TOKEN';
const Logger_TOKEN = 'Logger_TOKEN';
const IPAGE_VIEW_REPO_TOKEN = 'IPageViewRepository_TOKEN';
const IENGAGEMENT_REPO_TOKEN = 'IEngagementRepository_TOKEN';
@@ -15,7 +15,7 @@ export class AnalyticsService {
constructor(
@Inject(IPAGE_VIEW_REPO_TOKEN) private readonly pageViewRepository: IPageViewRepository,
@Inject(IENGAGEMENT_REPO_TOKEN) private readonly engagementRepository: IEngagementRepository,
@Inject(ILogger_TOKEN) private readonly logger: ILogger,
@Inject(Logger_TOKEN) private readonly logger: Logger,
) {}
async recordPageView(input: RecordPageViewInput): Promise<RecordPageViewOutput> {

View File

@@ -5,7 +5,7 @@ import { AuthService } from './AuthService';
import { IAuthRepository } from '@gridpilot/core/identity/domain/repositories/IAuthRepository';
import { IUserRepository, StoredUser } from '@gridpilot/core/identity/domain/repositories/IUserRepository';
import { IPasswordHashingService } from '@gridpilot/core/identity/domain/services/PasswordHashingService';
import { ILogger } from '@gridpilot/core/shared/logging/ILogger';
import { Logger } from '@gridpilot/core/shared/logging/Logger';
import { InMemoryAuthRepository } from '../../../adapters/identity/persistence/inmemory/InMemoryAuthRepository';
import { InMemoryUserRepository } from '../../../adapters/identity/persistence/inmemory/InMemoryUserRepository';
@@ -18,14 +18,14 @@ import { CookieIdentitySessionAdapter } from '../../../adapters/identity/session
export const AUTH_REPOSITORY_TOKEN = 'IAuthRepository';
export const USER_REPOSITORY_TOKEN = 'IUserRepository';
export const PASSWORD_HASHING_SERVICE_TOKEN = 'IPasswordHashingService';
export const LOGGER_TOKEN = 'ILogger';
export const LOGGER_TOKEN = 'Logger';
export const IDENTITY_SESSION_PORT_TOKEN = 'IdentitySessionPort';
export const AuthProviders: Provider[] = [
AuthService, // Provide the service itself
{
provide: AUTH_REPOSITORY_TOKEN,
useFactory: (userRepository: IUserRepository, passwordHashingService: IPasswordHashingService, logger: ILogger) => {
useFactory: (userRepository: IUserRepository, passwordHashingService: IPasswordHashingService, logger: Logger) => {
// Seed initial users for InMemoryUserRepository
const initialUsers: StoredUser[] = [
// Example user (replace with actual test users as needed)
@@ -45,7 +45,7 @@ export const AuthProviders: Provider[] = [
},
{
provide: USER_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryUserRepository(logger), // Factory for InMemoryUserRepository
useFactory: (logger: Logger) => new InMemoryUserRepository(logger), // Factory for InMemoryUserRepository
inject: [LOGGER_TOKEN],
},
{
@@ -58,7 +58,7 @@ export const AuthProviders: Provider[] = [
},
{
provide: IDENTITY_SESSION_PORT_TOKEN,
useFactory: (logger: ILogger) => new CookieIdentitySessionAdapter(logger),
useFactory: (logger: Logger) => new CookieIdentitySessionAdapter(logger),
inject: [LOGGER_TOKEN],
},
];

View File

@@ -13,7 +13,7 @@ import { LoginWithIracingCallbackUseCase } from '../../../../core/identity/appli
import { AUTH_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN, IDENTITY_SESSION_PORT_TOKEN, USER_REPOSITORY_TOKEN } from './AuthProviders';
import { IAuthRepository } from '../../../../core/identity/domain/repositories/IAuthRepository';
import { IPasswordHashingService } from '../../../../core/identity/domain/services/PasswordHashingService';
import { ILogger } from '../../../../core/shared/logging/ILogger';
import { Logger } from "@gridpilot/core/shared/application";
import { IdentitySessionPort } from '../../../../core/identity/application/ports/IdentitySessionPort';
import { UserId } from '../../../../core/identity/domain/value-objects/UserId';
import { User } from '../../../../core/identity/domain/entities/User';
@@ -32,7 +32,7 @@ export class AuthService {
constructor(
@Inject(AUTH_REPOSITORY_TOKEN) private authRepository: IAuthRepository,
@Inject(PASSWORD_HASHING_SERVICE_TOKEN) private passwordHashingService: IPasswordHashingService,
@Inject(LOGGER_TOKEN) private logger: ILogger,
@Inject(LOGGER_TOKEN) private logger: Logger,
@Inject(IDENTITY_SESSION_PORT_TOKEN) private identitySessionPort: IdentitySessionPort,
@Inject(USER_REPOSITORY_TOKEN) private userRepository: IUserRepository, // Inject IUserRepository here
) {

View File

@@ -9,7 +9,7 @@ import { DriverRatingProvider } from '../../../../core/racing/application/ports/
import { IImageServicePort } from '../../../../core/racing/application/ports/IImageServicePort';
import { IRaceRegistrationRepository } from '../../../../core/racing/domain/repositories/IRaceRegistrationRepository';
import { INotificationPreferenceRepository } from '../../../../core/notifications/domain/repositories/INotificationPreferenceRepository';
import { ILogger } from '../../../../core/shared/logging/ILogger';
import { Logger } from "@gridpilot/core/shared/application";
// Import concrete in-memory implementations
import { InMemoryDriverRepository } from '../../../adapters/racing/persistence/inmemory/InMemoryDriverRepository';
@@ -29,43 +29,43 @@ export const DRIVER_RATING_PROVIDER_TOKEN = 'DriverRatingProvider';
export const IMAGE_SERVICE_PORT_TOKEN = 'IImageServicePort';
export const RACE_REGISTRATION_REPOSITORY_TOKEN = 'IRaceRegistrationRepository';
export const NOTIFICATION_PREFERENCE_REPOSITORY_TOKEN = 'INotificationPreferenceRepository';
export const LOGGER_TOKEN = 'ILogger'; // Already defined in AuthProviders, but good to have here too
export const LOGGER_TOKEN = 'Logger'; // Already defined in AuthProviders, but good to have here too
export const DriverProviders: Provider[] = [
DriverService, // Provide the service itself
{
provide: DRIVER_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryDriverRepository(logger), // Factory for InMemoryDriverRepository
useFactory: (logger: Logger) => new InMemoryDriverRepository(logger), // Factory for InMemoryDriverRepository
inject: [LOGGER_TOKEN],
},
{
provide: RANKING_SERVICE_TOKEN,
useFactory: (logger: ILogger) => new InMemoryRankingService(logger),
useFactory: (logger: Logger) => new InMemoryRankingService(logger),
inject: [LOGGER_TOKEN],
},
{
provide: DRIVER_STATS_SERVICE_TOKEN,
useFactory: (logger: ILogger) => new InMemoryDriverStatsService(logger),
useFactory: (logger: Logger) => new InMemoryDriverStatsService(logger),
inject: [LOGGER_TOKEN],
},
{
provide: DRIVER_RATING_PROVIDER_TOKEN,
useFactory: (logger: ILogger) => new InMemoryDriverRatingProvider(logger),
useFactory: (logger: Logger) => new InMemoryDriverRatingProvider(logger),
inject: [LOGGER_TOKEN],
},
{
provide: IMAGE_SERVICE_PORT_TOKEN,
useFactory: (logger: ILogger) => new InMemoryImageServiceAdapter(logger),
useFactory: (logger: Logger) => new InMemoryImageServiceAdapter(logger),
inject: [LOGGER_TOKEN],
},
{
provide: RACE_REGISTRATION_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryRaceRegistrationRepository(logger),
useFactory: (logger: Logger) => new InMemoryRaceRegistrationRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: NOTIFICATION_PREFERENCE_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryNotificationPreferenceRepository(logger),
useFactory: (logger: Logger) => new InMemoryNotificationPreferenceRepository(logger),
inject: [LOGGER_TOKEN],
},
{

View File

@@ -10,7 +10,7 @@ import { ILeagueScoringConfigRepository } from 'core/racing/domain/repositories/
import { IGameRepository } from 'core/racing/domain/repositories/IGameRepository';
import { IProtestRepository } from 'core/racing/domain/repositories/IProtestRepository';
import { IRaceRepository } from 'core/racing/domain/repositories/IRaceRepository';
import { ILogger } from 'core/shared/logging/ILogger';
import { Logger } from 'core/shared/logging/Logger';
// Import concrete in-memory implementations
import { InMemoryLeagueRepository } from 'adapters/racing/persistence/inmemory/InMemoryLeagueRepository';
@@ -32,48 +32,48 @@ export const LEAGUE_SCORING_CONFIG_REPOSITORY_TOKEN = 'ILeagueScoringConfigRepos
export const GAME_REPOSITORY_TOKEN = 'IGameRepository';
export const PROTEST_REPOSITORY_TOKEN = 'IProtestRepository';
export const RACE_REPOSITORY_TOKEN = 'IRaceRepository';
export const LOGGER_TOKEN = 'ILogger'; // Already defined in AuthProviders, but good to have here too
export const LOGGER_TOKEN = 'Logger'; // Already defined in AuthProviders, but good to have here too
export const LeagueProviders: Provider[] = [
LeagueService, // Provide the service itself
{
provide: LEAGUE_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryLeagueRepository(logger), // Factory for InMemoryLeagueRepository
useFactory: (logger: Logger) => new InMemoryLeagueRepository(logger), // Factory for InMemoryLeagueRepository
inject: [LOGGER_TOKEN],
},
{
provide: LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryLeagueMembershipRepository(logger), // Factory for InMemoryLeagueMembershipRepository
useFactory: (logger: Logger) => new InMemoryLeagueMembershipRepository(logger), // Factory for InMemoryLeagueMembershipRepository
inject: [LOGGER_TOKEN],
},
{
provide: LEAGUE_STANDINGS_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryLeagueStandingsRepository(logger), // Factory for InMemoryLeagueStandingsRepository
useFactory: (logger: Logger) => new InMemoryLeagueStandingsRepository(logger), // Factory for InMemoryLeagueStandingsRepository
inject: [LOGGER_TOKEN],
},
{
provide: SEASON_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemorySeasonRepository(logger), // Factory for InMemorySeasonRepository
useFactory: (logger: Logger) => new InMemorySeasonRepository(logger), // Factory for InMemorySeasonRepository
inject: [LOGGER_TOKEN],
},
{
provide: LEAGUE_SCORING_CONFIG_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryLeagueScoringConfigRepository(logger), // Factory for InMemoryLeagueScoringConfigRepository
useFactory: (logger: Logger) => new InMemoryLeagueScoringConfigRepository(logger), // Factory for InMemoryLeagueScoringConfigRepository
inject: [LOGGER_TOKEN],
},
{
provide: GAME_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryGameRepository(logger),
useFactory: (logger: Logger) => new InMemoryGameRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: PROTEST_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryProtestRepository(logger),
useFactory: (logger: Logger) => new InMemoryProtestRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: RACE_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryRaceRepository(logger),
useFactory: (logger: Logger) => new InMemoryRaceRepository(logger),
inject: [LOGGER_TOKEN],
},
{

View File

@@ -7,7 +7,7 @@ import { MediaService } from './MediaService';
/*
import { IAvatarGenerationRepository } from 'core/media/domain/repositories/IAvatarGenerationRepository';
import { FaceValidationPort } from 'core/media/application/ports/FaceValidationPort';
import { ILogger } from 'core/shared/logging/ILogger';
import { Logger } from 'core/shared/logging/Logger';
import { InMemoryAvatarGenerationRepository } from 'adapters/media/persistence/inmemory/InMemoryAvatarGenerationRepository';
import { InMemoryFaceValidationAdapter } from 'adapters/media/ports/InMemoryFaceValidationAdapter';
@@ -17,7 +17,7 @@ import { MediaService } from './MediaService';
// Define injection tokens as string literals for NestJS
export const AVATAR_GENERATION_REPOSITORY_TOKEN = 'IAvatarGenerationRepository';
export const FACE_VALIDATION_PORT_TOKEN = 'FaceValidationPort';
export const LOGGER_TOKEN = 'ILogger';
export const LOGGER_TOKEN = 'Logger';
export const MediaProviders: Provider[] = [
MediaService, // Provide the service itself
@@ -25,12 +25,12 @@ export const MediaProviders: Provider[] = [
/*
{
provide: AVATAR_GENERATION_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryAvatarGenerationRepository(logger),
useFactory: (logger: Logger) => new InMemoryAvatarGenerationRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: FACE_VALIDATION_PORT_TOKEN,
useFactory: (logger: ILogger) => new InMemoryFaceValidationAdapter(logger),
useFactory: (logger: Logger) => new InMemoryFaceValidationAdapter(logger),
inject: [LOGGER_TOKEN],
},
{

View File

@@ -11,7 +11,7 @@ import { IMembershipFeeRepository } from 'core/payments/domain/repositories/IMem
import { IPrizeRepository } from 'core/payments/domain/repositories/IPrizeRepository';
import { IWalletRepository } from 'core/payments/domain/repositories/IWalletRepository';
import { IPaymentGateway } from 'core/payments/application/ports/IPaymentGateway';
import { ILogger } from 'core/shared/logging/ILogger';
import { Logger } from 'core/shared/logging/Logger';
// Import concrete in-memory implementations
import { InMemoryPaymentRepository } from 'adapters/payments/persistence/inmemory/InMemoryPaymentRepository';
@@ -28,7 +28,7 @@ export const MEMBERSHIP_FEE_REPOSITORY_TOKEN = 'IMembershipFeeRepository';
export const PRIZE_REPOSITORY_TOKEN = 'IPrizeRepository';
export const WALLET_REPOSITORY_TOKEN = 'IWalletRepository';
export const PAYMENT_GATEWAY_TOKEN = 'IPaymentGateway';
export const LOGGER_TOKEN = 'ILogger'; // Already defined in other Providers, but good to have here too
export const LOGGER_TOKEN = 'Logger'; // Already defined in other Providers, but good to have here too
export const PaymentsProviders: Provider[] = [
PaymentsService, // Provide the service itself
@@ -36,27 +36,27 @@ export const PaymentsProviders: Provider[] = [
/*
{
provide: PAYMENT_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryPaymentRepository(logger),
useFactory: (logger: Logger) => new InMemoryPaymentRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: MEMBERSHIP_FEE_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryMembershipFeeRepository(logger),
useFactory: (logger: Logger) => new InMemoryMembershipFeeRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: PRIZE_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryPrizeRepository(logger),
useFactory: (logger: Logger) => new InMemoryPrizeRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: WALLET_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryWalletRepository(logger),
useFactory: (logger: Logger) => new InMemoryWalletRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: PAYMENT_GATEWAY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryPaymentGateway(logger),
useFactory: (logger: Logger) => new InMemoryPaymentGateway(logger),
inject: [LOGGER_TOKEN],
},
{

View File

@@ -6,7 +6,7 @@ export const RaceProviders: Provider[] = [
// In a functional setup, other providers would be here, e.g.:
/*
{
provide: 'ILogger',
provide: 'Logger',
useClass: ConsoleLogger,
},
{