Small Nest.js-based project
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.
 
test-assignment-joyn/src/app.module.ts

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 {}