|
|
|
|
@@ -2,16 +2,16 @@ import type { Provider } from '@nestjs/common';
|
|
|
|
|
|
|
|
|
|
// Import core interfaces
|
|
|
|
|
import type { DriverRatingProvider } from '@core/racing/application/ports/DriverRatingProvider';
|
|
|
|
|
import type { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
|
|
|
|
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
|
|
|
|
import type { ILeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
|
|
|
|
import type { IPenaltyRepository } from '@core/racing/domain/repositories/PenaltyRepository';
|
|
|
|
|
import type { IProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
|
|
|
|
import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
|
|
|
|
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
|
|
|
|
import type { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
|
|
|
|
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
|
|
|
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
|
|
|
|
import type { DriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
|
|
|
|
import type { LeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
|
|
|
|
import type { LeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
|
|
|
|
import type { PenaltyRepository } from '@core/racing/domain/repositories/PenaltyRepository';
|
|
|
|
|
import type { ProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
|
|
|
|
import type { RaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
|
|
|
|
import type { RaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
|
|
|
|
import type { ResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
|
|
|
|
import type { StandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
|
|
|
|
import type { Logger } from '@core/shared/domain/Logger';
|
|
|
|
|
|
|
|
|
|
// Import concrete in-memory implementations
|
|
|
|
|
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
|
|
|
|
@@ -149,8 +149,8 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: GetAllRacesUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueRepo: ILeagueRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueRepo: LeagueRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new GetAllRacesUseCase(raceRepo, leagueRepo, logger);
|
|
|
|
|
@@ -160,7 +160,7 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: GetTotalRacesUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
) => {
|
|
|
|
|
return new GetTotalRacesUseCase(raceRepo);
|
|
|
|
|
},
|
|
|
|
|
@@ -169,11 +169,11 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: ImportRaceResultsApiUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueRepo: ILeagueRepository,
|
|
|
|
|
resultRepo: IResultRepository,
|
|
|
|
|
driverRepo: IDriverRepository,
|
|
|
|
|
standingRepo: IStandingRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueRepo: LeagueRepository,
|
|
|
|
|
resultRepo: ResultRepository,
|
|
|
|
|
driverRepo: DriverRepository,
|
|
|
|
|
standingRepo: StandingRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new ImportRaceResultsApiUseCase(
|
|
|
|
|
@@ -197,12 +197,12 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: GetRaceDetailUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueRepo: ILeagueRepository,
|
|
|
|
|
driverRepo: IDriverRepository,
|
|
|
|
|
raceRegRepo: IRaceRegistrationRepository,
|
|
|
|
|
resultRepo: IResultRepository,
|
|
|
|
|
leagueMembershipRepo: ILeagueMembershipRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueRepo: LeagueRepository,
|
|
|
|
|
driverRepo: DriverRepository,
|
|
|
|
|
raceRegRepo: RaceRegistrationRepository,
|
|
|
|
|
resultRepo: ResultRepository,
|
|
|
|
|
leagueMembershipRepo: LeagueMembershipRepository,
|
|
|
|
|
) => {
|
|
|
|
|
return new GetRaceDetailUseCase(
|
|
|
|
|
raceRepo,
|
|
|
|
|
@@ -225,8 +225,8 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: GetRacesPageDataUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueRepo: ILeagueRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueRepo: LeagueRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new GetRacesPageDataUseCase(
|
|
|
|
|
@@ -240,8 +240,8 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: GetAllRacesPageDataUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueRepo: ILeagueRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueRepo: LeagueRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new GetAllRacesPageDataUseCase(
|
|
|
|
|
@@ -255,11 +255,11 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: GetRaceResultsDetailUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueRepo: ILeagueRepository,
|
|
|
|
|
resultRepo: IResultRepository,
|
|
|
|
|
driverRepo: IDriverRepository,
|
|
|
|
|
penaltyRepo: IPenaltyRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueRepo: LeagueRepository,
|
|
|
|
|
resultRepo: ResultRepository,
|
|
|
|
|
driverRepo: DriverRepository,
|
|
|
|
|
penaltyRepo: PenaltyRepository,
|
|
|
|
|
) => {
|
|
|
|
|
return new GetRaceResultsDetailUseCase(
|
|
|
|
|
raceRepo,
|
|
|
|
|
@@ -280,9 +280,9 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: GetRaceWithSOFUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
raceRegRepo: IRaceRegistrationRepository,
|
|
|
|
|
resultRepo: IResultRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
raceRegRepo: RaceRegistrationRepository,
|
|
|
|
|
resultRepo: ResultRepository,
|
|
|
|
|
driverRatingProvider: DriverRatingProvider,
|
|
|
|
|
) => {
|
|
|
|
|
return new GetRaceWithSOFUseCase(
|
|
|
|
|
@@ -305,8 +305,8 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: GetRaceProtestsUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
protestRepo: IProtestRepository,
|
|
|
|
|
driverRepo: IDriverRepository,
|
|
|
|
|
protestRepo: ProtestRepository,
|
|
|
|
|
driverRepo: DriverRepository,
|
|
|
|
|
) => {
|
|
|
|
|
return new GetRaceProtestsUseCase(
|
|
|
|
|
protestRepo,
|
|
|
|
|
@@ -318,8 +318,8 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: GetRacePenaltiesUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
penaltyRepo: IPenaltyRepository,
|
|
|
|
|
driverRepo: IDriverRepository,
|
|
|
|
|
penaltyRepo: PenaltyRepository,
|
|
|
|
|
driverRepo: DriverRepository,
|
|
|
|
|
) => {
|
|
|
|
|
return new GetRacePenaltiesUseCase(
|
|
|
|
|
penaltyRepo,
|
|
|
|
|
@@ -331,8 +331,8 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: RegisterForRaceUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRegRepo: IRaceRegistrationRepository,
|
|
|
|
|
leagueMembershipRepo: ILeagueMembershipRepository,
|
|
|
|
|
raceRegRepo: RaceRegistrationRepository,
|
|
|
|
|
leagueMembershipRepo: LeagueMembershipRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new RegisterForRaceUseCase(
|
|
|
|
|
@@ -346,8 +346,8 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: WithdrawFromRaceUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
raceRegRepo: IRaceRegistrationRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
raceRegRepo: RaceRegistrationRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new WithdrawFromRaceUseCase(
|
|
|
|
|
@@ -361,7 +361,7 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: CancelRaceUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new CancelRaceUseCase(
|
|
|
|
|
@@ -374,10 +374,10 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: CompleteRaceUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
raceRegRepo: IRaceRegistrationRepository,
|
|
|
|
|
resultRepo: IResultRepository,
|
|
|
|
|
standingRepo: IStandingRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
raceRegRepo: RaceRegistrationRepository,
|
|
|
|
|
resultRepo: ResultRepository,
|
|
|
|
|
standingRepo: StandingRepository,
|
|
|
|
|
driverRatingProvider: DriverRatingProvider,
|
|
|
|
|
) => {
|
|
|
|
|
return new CompleteRaceUseCase(
|
|
|
|
|
@@ -402,7 +402,7 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: ReopenRaceUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new ReopenRaceUseCase(
|
|
|
|
|
@@ -415,11 +415,11 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: ImportRaceResultsUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueRepo: ILeagueRepository,
|
|
|
|
|
resultRepo: IResultRepository,
|
|
|
|
|
driverRepo: IDriverRepository,
|
|
|
|
|
standingRepo: IStandingRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueRepo: LeagueRepository,
|
|
|
|
|
resultRepo: ResultRepository,
|
|
|
|
|
driverRepo: DriverRepository,
|
|
|
|
|
standingRepo: StandingRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new ImportRaceResultsUseCase(
|
|
|
|
|
@@ -443,9 +443,9 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: FileProtestUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
protestRepo: IProtestRepository,
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueMembershipRepo: ILeagueMembershipRepository,
|
|
|
|
|
protestRepo: ProtestRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueMembershipRepo: LeagueMembershipRepository,
|
|
|
|
|
) => {
|
|
|
|
|
return new FileProtestUseCase(
|
|
|
|
|
protestRepo,
|
|
|
|
|
@@ -458,9 +458,9 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: QuickPenaltyUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
penaltyRepo: IPenaltyRepository,
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueMembershipRepo: ILeagueMembershipRepository,
|
|
|
|
|
penaltyRepo: PenaltyRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueMembershipRepo: LeagueMembershipRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new QuickPenaltyUseCase(
|
|
|
|
|
@@ -475,10 +475,10 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: ApplyPenaltyUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
penaltyRepo: IPenaltyRepository,
|
|
|
|
|
protestRepo: IProtestRepository,
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueMembershipRepo: ILeagueMembershipRepository,
|
|
|
|
|
penaltyRepo: PenaltyRepository,
|
|
|
|
|
protestRepo: ProtestRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueMembershipRepo: LeagueMembershipRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new ApplyPenaltyUseCase(
|
|
|
|
|
@@ -494,9 +494,9 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: RequestProtestDefenseUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
protestRepo: IProtestRepository,
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueMembershipRepo: ILeagueMembershipRepository,
|
|
|
|
|
protestRepo: ProtestRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueMembershipRepo: LeagueMembershipRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new RequestProtestDefenseUseCase(
|
|
|
|
|
@@ -511,9 +511,9 @@ export const RaceProviders: Provider[] = [
|
|
|
|
|
{
|
|
|
|
|
provide: ReviewProtestUseCase,
|
|
|
|
|
useFactory: (
|
|
|
|
|
protestRepo: IProtestRepository,
|
|
|
|
|
raceRepo: IRaceRepository,
|
|
|
|
|
leagueMembershipRepo: ILeagueMembershipRepository,
|
|
|
|
|
protestRepo: ProtestRepository,
|
|
|
|
|
raceRepo: RaceRepository,
|
|
|
|
|
leagueMembershipRepo: LeagueMembershipRepository,
|
|
|
|
|
logger: Logger,
|
|
|
|
|
) => {
|
|
|
|
|
return new ReviewProtestUseCase(
|
|
|
|
|
|