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