fix seeds

This commit is contained in:
2025-12-27 01:25:56 +01:00
parent b68405aa46
commit 9a74e16f11
23 changed files with 405 additions and 564 deletions

View File

@@ -1,9 +1,11 @@
import { Module } from '@nestjs/common';
import { InMemoryRacingPersistenceModule } from '../../persistence/inmemory/InMemoryRacingPersistenceModule';
import { RaceService } from './RaceService';
import { RaceController } from './RaceController';
import { RaceProviders } from './RaceProviders';
@Module({
imports: [InMemoryRacingPersistenceModule],
controllers: [RaceController],
providers: [RaceService, ...RaceProviders],
exports: [RaceService],

View File

@@ -16,18 +16,8 @@ import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPo
import { Result } from '@core/shared/application/Result';
// Import concrete in-memory implementations
import { getPointsSystems } from '@adapters/bootstrap/PointsSystems';
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
import { InMemoryImageServiceAdapter } from '@adapters/media/ports/InMemoryImageServiceAdapter';
import { InMemoryDriverRepository } from '@adapters/racing/persistence/inmemory/InMemoryDriverRepository';
import { InMemoryLeagueMembershipRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueMembershipRepository';
import { InMemoryLeagueRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueRepository';
import { InMemoryPenaltyRepository } from '@adapters/racing/persistence/inmemory/InMemoryPenaltyRepository';
import { InMemoryProtestRepository } from '@adapters/racing/persistence/inmemory/InMemoryProtestRepository';
import { InMemoryRaceRegistrationRepository } from '@adapters/racing/persistence/inmemory/InMemoryRaceRegistrationRepository';
import { InMemoryRaceRepository } from '@adapters/racing/persistence/inmemory/InMemoryRaceRepository';
import { InMemoryResultRepository } from '@adapters/racing/persistence/inmemory/InMemoryResultRepository';
import { InMemoryStandingRepository } from '@adapters/racing/persistence/inmemory/InMemoryStandingRepository';
import { InMemoryDriverRatingProvider } from '@adapters/racing/ports/InMemoryDriverRatingProvider';
// Import use cases
@@ -295,51 +285,6 @@ class ReviewProtestOutputAdapter implements UseCaseOutputPort<ReviewProtestResul
}
export const RaceProviders: Provider[] = [
{
provide: RACE_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryRaceRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: LEAGUE_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryLeagueRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: DRIVER_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryDriverRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: RACE_REGISTRATION_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryRaceRegistrationRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: RESULT_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryResultRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryLeagueMembershipRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: PENALTY_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryPenaltyRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: PROTEST_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryProtestRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: STANDING_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryStandingRepository(logger, getPointsSystems()),
inject: [LOGGER_TOKEN],
},
{
provide: DRIVER_RATING_PROVIDER_TOKEN,
useFactory: (logger: Logger) => new InMemoryDriverRatingProvider(logger),

View File

@@ -79,26 +79,26 @@ import { penaltyTypeRequiresValue } from '@core/racing/domain/entities/penalty/P
@Injectable()
export class RaceService {
constructor(
private readonly getAllRacesUseCase: GetAllRacesUseCase,
private readonly getTotalRacesUseCase: GetTotalRacesUseCase,
private readonly importRaceResultsApiUseCase: ImportRaceResultsApiUseCase,
private readonly getRaceDetailUseCase: GetRaceDetailUseCase,
private readonly getRacesPageDataUseCase: GetRacesPageDataUseCase,
private readonly getAllRacesPageDataUseCase: GetAllRacesPageDataUseCase,
private readonly getRaceResultsDetailUseCase: GetRaceResultsDetailUseCase,
private readonly getRaceWithSOFUseCase: GetRaceWithSOFUseCase,
private readonly getRaceProtestsUseCase: GetRaceProtestsUseCase,
private readonly getRacePenaltiesUseCase: GetRacePenaltiesUseCase,
private readonly registerForRaceUseCase: RegisterForRaceUseCase,
private readonly withdrawFromRaceUseCase: WithdrawFromRaceUseCase,
private readonly cancelRaceUseCase: CancelRaceUseCase,
private readonly completeRaceUseCase: CompleteRaceUseCase,
private readonly fileProtestUseCase: FileProtestUseCase,
private readonly quickPenaltyUseCase: QuickPenaltyUseCase,
private readonly applyPenaltyUseCase: ApplyPenaltyUseCase,
private readonly requestProtestDefenseUseCase: RequestProtestDefenseUseCase,
private readonly reviewProtestUseCase: ReviewProtestUseCase,
private readonly reopenRaceUseCase: ReopenRaceUseCase,
@Inject(GetAllRacesUseCase) private readonly getAllRacesUseCase: GetAllRacesUseCase,
@Inject(GetTotalRacesUseCase) private readonly getTotalRacesUseCase: GetTotalRacesUseCase,
@Inject(ImportRaceResultsApiUseCase) private readonly importRaceResultsApiUseCase: ImportRaceResultsApiUseCase,
@Inject(GetRaceDetailUseCase) private readonly getRaceDetailUseCase: GetRaceDetailUseCase,
@Inject(GetRacesPageDataUseCase) private readonly getRacesPageDataUseCase: GetRacesPageDataUseCase,
@Inject(GetAllRacesPageDataUseCase) private readonly getAllRacesPageDataUseCase: GetAllRacesPageDataUseCase,
@Inject(GetRaceResultsDetailUseCase) private readonly getRaceResultsDetailUseCase: GetRaceResultsDetailUseCase,
@Inject(GetRaceWithSOFUseCase) private readonly getRaceWithSOFUseCase: GetRaceWithSOFUseCase,
@Inject(GetRaceProtestsUseCase) private readonly getRaceProtestsUseCase: GetRaceProtestsUseCase,
@Inject(GetRacePenaltiesUseCase) private readonly getRacePenaltiesUseCase: GetRacePenaltiesUseCase,
@Inject(RegisterForRaceUseCase) private readonly registerForRaceUseCase: RegisterForRaceUseCase,
@Inject(WithdrawFromRaceUseCase) private readonly withdrawFromRaceUseCase: WithdrawFromRaceUseCase,
@Inject(CancelRaceUseCase) private readonly cancelRaceUseCase: CancelRaceUseCase,
@Inject(CompleteRaceUseCase) private readonly completeRaceUseCase: CompleteRaceUseCase,
@Inject(FileProtestUseCase) private readonly fileProtestUseCase: FileProtestUseCase,
@Inject(QuickPenaltyUseCase) private readonly quickPenaltyUseCase: QuickPenaltyUseCase,
@Inject(ApplyPenaltyUseCase) private readonly applyPenaltyUseCase: ApplyPenaltyUseCase,
@Inject(RequestProtestDefenseUseCase) private readonly requestProtestDefenseUseCase: RequestProtestDefenseUseCase,
@Inject(ReviewProtestUseCase) private readonly reviewProtestUseCase: ReviewProtestUseCase,
@Inject(ReopenRaceUseCase) private readonly reopenRaceUseCase: ReopenRaceUseCase,
@Inject(LOGGER_TOKEN) private readonly logger: Logger,
// Injected presenters
@Inject(GET_ALL_RACES_PRESENTER_TOKEN) private readonly getAllRacesPresenter: GetAllRacesPresenter,