wip league admin tools

This commit is contained in:
2025-12-28 12:04:12 +01:00
parent 5dc8c2399c
commit 6edf12fda8
401 changed files with 15365 additions and 6047 deletions

View File

@@ -1,5 +1,5 @@
import { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository';
import { Race, RaceStatus } from '@core/racing/domain/entities/Race';
import { Race, type RaceStatusValue } from '@core/racing/domain/entities/Race';
import { Logger } from '@core/shared/application';
export class InMemoryRaceRepository implements IRaceRepository {
@@ -36,7 +36,7 @@ export class InMemoryRaceRepository implements IRaceRepository {
this.logger.debug(`[InMemoryRaceRepository] Finding upcoming races by league ID: ${leagueId}`);
const now = new Date();
const upcomingRaces = Array.from(this.races.values()).filter(race =>
race.leagueId === leagueId && race.status === 'scheduled' && race.scheduledAt > now
race.leagueId === leagueId && race.status.isScheduled() && race.scheduledAt > now
);
this.logger.info(`Found ${upcomingRaces.length} upcoming races for league ID: ${leagueId}.`);
return Promise.resolve(upcomingRaces);
@@ -45,15 +45,17 @@ export class InMemoryRaceRepository implements IRaceRepository {
async findCompletedByLeagueId(leagueId: string): Promise<Race[]> {
this.logger.debug(`[InMemoryRaceRepository] Finding completed races by league ID: ${leagueId}`);
const completedRaces = Array.from(this.races.values()).filter(race =>
race.leagueId === leagueId && race.status === 'completed'
race.leagueId === leagueId && race.status.isCompleted()
);
this.logger.info(`Found ${completedRaces.length} completed races for league ID: ${leagueId}.`);
return Promise.resolve(completedRaces);
}
async findByStatus(status: RaceStatus): Promise<Race[]> {
async findByStatus(status: RaceStatusValue): Promise<Race[]> {
this.logger.debug(`[InMemoryRaceRepository] Finding races by status: ${status}.`);
const races = Array.from(this.races.values()).filter(race => race.status === status);
const races = Array.from(this.races.values()).filter(
race => race.status.toString() === status,
);
this.logger.info(`Found ${races.length} races with status: ${status}.`);
return Promise.resolve(races);
}