You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1.0 KiB
26 lines
1.0 KiB
import { Module } from '@nestjs/common';
|
|
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
import { MoviesController } from './movies.controller';
|
|
import { createOmdbEnrichedDataService } from './services/omdbEnrichedDataService';
|
|
import { createInternalProvider } from './integration/movies/internal';
|
|
import { createOmdbProviderByApiKey } from './integration/movies/omdb';
|
|
|
|
@Module({
|
|
imports: [ConfigModule.forRoot({ ignoreEnvFile: true })],
|
|
controllers: [MoviesController],
|
|
providers: [
|
|
{
|
|
provide: 'enrichedDataService',
|
|
useFactory: async (configService: ConfigService) =>
|
|
createOmdbEnrichedDataService(
|
|
createInternalProvider(),
|
|
createOmdbProviderByApiKey(
|
|
configService.getOrThrow('OMDB_API_KEY'),
|
|
),
|
|
),
|
|
inject: [ConfigService],
|
|
},
|
|
],
|
|
})
|
|
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
export class AppModule {}
|
|
|