Files
gridpilot.gg/apps/website/lib/modules/race/RaceProviders.ts
2025-12-16 00:57:31 +01:00

22 lines
716 B
TypeScript

import { Provider } from '@nestjs/common';
// Import core interfaces
import { IRaceRepository } from '@gridpilot/racing/domain/repositories/IRaceRepository';
import { Logger } from '@gridpilot/shared/logging/Logger';
// Import implementations
import { InMemoryRaceRepository } from '@gridpilot/adapters/racing/persistence/inmemory/InMemoryRaceRepository';
// Import tokens
import { LOGGER_TOKEN } from '../logging/LoggingModule';
// Define injection tokens
export const RACE_REPOSITORY_TOKEN = Symbol('IRaceRepository');
export const RaceProviders: Provider[] = [
{
provide: RACE_REPOSITORY_TOKEN,
useFactory: (logger: Logger) => new InMemoryRaceRepository(logger),
inject: [LOGGER_TOKEN],
},
];