website refactor
This commit is contained in:
@@ -16,8 +16,8 @@ export class InMemoryPenaltyRepository implements PenaltyRepository {
|
||||
this.logger = logger;
|
||||
this.logger.info('InMemoryPenaltyRepository initialized.');
|
||||
initialPenalties.forEach(penalty => {
|
||||
this.penalties.set(penalty.id, penalty);
|
||||
this.logger.debug(`Seeded penalty: ${penalty.id}`);
|
||||
this.penalties.set(penalty.id.toString(), penalty);
|
||||
this.logger.debug(`Seeded penalty: ${penalty.id.toString()}`);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -108,31 +108,31 @@ export class InMemoryPenaltyRepository implements PenaltyRepository {
|
||||
}
|
||||
|
||||
async create(penalty: Penalty): Promise<void> {
|
||||
this.logger.debug(`Creating penalty: ${penalty.id}`);
|
||||
this.logger.debug(`Creating penalty: ${penalty.id.toString()}`);
|
||||
try {
|
||||
if (this.penalties.has(penalty.id)) {
|
||||
this.logger.warn(`Penalty with ID ${penalty.id} already exists.`);
|
||||
throw new Error(`Penalty with ID ${penalty.id} already exists`);
|
||||
if (this.penalties.has(penalty.id.toString())) {
|
||||
this.logger.warn(`Penalty with ID ${penalty.id.toString()} already exists.`);
|
||||
throw new Error(`Penalty with ID ${penalty.id.toString()} already exists`);
|
||||
}
|
||||
this.penalties.set(penalty.id, penalty);
|
||||
this.logger.info(`Penalty ${penalty.id} created successfully.`);
|
||||
this.penalties.set(penalty.id.toString(), penalty);
|
||||
this.logger.info(`Penalty ${penalty.id.toString()} created successfully.`);
|
||||
} catch (error) {
|
||||
this.logger.error(`Error creating penalty ${penalty.id}:`, error instanceof Error ? error : new Error(String(error)));
|
||||
this.logger.error(`Error creating penalty ${penalty.id.toString()}:`, error instanceof Error ? error : new Error(String(error)));
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
async update(penalty: Penalty): Promise<void> {
|
||||
this.logger.debug(`Updating penalty: ${penalty.id}`);
|
||||
this.logger.debug(`Updating penalty: ${penalty.id.toString()}`);
|
||||
try {
|
||||
if (!this.penalties.has(penalty.id)) {
|
||||
this.logger.warn(`Penalty with ID ${penalty.id} not found for update.`);
|
||||
throw new Error(`Penalty with ID ${penalty.id} not found`);
|
||||
if (!this.penalties.has(penalty.id.toString())) {
|
||||
this.logger.warn(`Penalty with ID ${penalty.id.toString()} not found for update.`);
|
||||
throw new Error(`Penalty with ID ${penalty.id.toString()} not found`);
|
||||
}
|
||||
this.penalties.set(penalty.id, penalty);
|
||||
this.logger.info(`Penalty ${penalty.id} updated successfully.`);
|
||||
this.penalties.set(penalty.id.toString(), penalty);
|
||||
this.logger.info(`Penalty ${penalty.id.toString()} updated successfully.`);
|
||||
} catch (error) {
|
||||
this.logger.error(`Error updating penalty ${penalty.id}:`, error instanceof Error ? error : new Error(String(error)));
|
||||
this.logger.error(`Error updating penalty ${penalty.id.toString()}:`, error instanceof Error ? error : new Error(String(error)));
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,15 +7,16 @@
|
||||
|
||||
import { Result } from '@core/racing/domain/entities/result/Result';
|
||||
import type { ResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||
import type { RaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||
import type { Logger } from '@core/shared/domain/Logger';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
|
||||
export class InMemoryResultRepository implements ResultRepository {
|
||||
private results: Map<string, Result>;
|
||||
private raceRepository: IRaceRepository | null;
|
||||
private raceRepository: RaceRepository | null;
|
||||
private readonly logger: Logger;
|
||||
|
||||
constructor(logger: Logger, raceRepository?: IRaceRepository | null) {
|
||||
constructor(logger: Logger, raceRepository?: RaceRepository | null) {
|
||||
this.logger = logger;
|
||||
this.logger.info('[InMemoryResultRepository] Initialized.');
|
||||
this.results = new Map();
|
||||
@@ -86,7 +87,7 @@ export class InMemoryResultRepository implements ResultRepository {
|
||||
}
|
||||
|
||||
const leagueRaces = await this.raceRepository.findByLeagueId(leagueId);
|
||||
const leagueRaceIds = new Set(leagueRaces.map(race => race.id));
|
||||
const leagueRaceIds = new Set(leagueRaces.map((race: any) => race.id));
|
||||
this.logger.debug(`[InMemoryResultRepository] Found ${leagueRaces.length} races in league ${leagueId}.`);
|
||||
|
||||
const results = Array.from(this.results.values())
|
||||
|
||||
@@ -7,22 +7,25 @@
|
||||
|
||||
import { Standing } from '@core/racing/domain/entities/Standing';
|
||||
import type { StandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||
import type { ResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||
import type { RaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||
import type { LeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
||||
import type { Logger } from '@core/shared/domain/Logger';
|
||||
|
||||
export class InMemoryStandingRepository implements StandingRepository {
|
||||
private standings: Map<string, Standing>;
|
||||
private resultRepository: IResultRepository | null;
|
||||
private raceRepository: IRaceRepository | null;
|
||||
private leagueRepository: ILeagueRepository | null;
|
||||
private resultRepository: ResultRepository | null;
|
||||
private raceRepository: RaceRepository | null;
|
||||
private leagueRepository: LeagueRepository | null;
|
||||
private readonly logger: Logger;
|
||||
private readonly pointsSystems: Record<string, Record<number, number>>;
|
||||
|
||||
constructor(
|
||||
logger: Logger,
|
||||
pointsSystems: Record<string, Record<number, number>>,
|
||||
resultRepository?: IResultRepository | null,
|
||||
raceRepository?: IRaceRepository | null,
|
||||
leagueRepository?: ILeagueRepository | null
|
||||
resultRepository?: ResultRepository | null,
|
||||
raceRepository?: RaceRepository | null,
|
||||
leagueRepository?: LeagueRepository | null
|
||||
) {
|
||||
this.logger = logger;
|
||||
this.pointsSystems = pointsSystems;
|
||||
@@ -198,7 +201,7 @@ export class InMemoryStandingRepository implements StandingRepository {
|
||||
}
|
||||
|
||||
const allResults = await Promise.all(
|
||||
races.map(async race => {
|
||||
races.map(async (race: any) => {
|
||||
this.logger.debug(`Fetching results for race ${race.id}.`);
|
||||
const results = await this.resultRepository!.findByRaceId(race.id);
|
||||
this.logger.debug(`Found ${results.length} results for race ${race.id}.`);
|
||||
@@ -219,7 +222,7 @@ export class InMemoryStandingRepository implements StandingRepository {
|
||||
return Number(position);
|
||||
};
|
||||
|
||||
results.forEach((result) => {
|
||||
results.forEach((result: any) => {
|
||||
const driverIdStr = result.driverId.toString();
|
||||
let standing = standingsMap.get(driverIdStr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user