import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { MongodbRepository } from './mongodb.repository';
import { MONGODB_REPOSITORY } from '@domain/repositories/mongodb.repository.interface';
@Module({
imports: [
MongooseModule.forRootAsync({
imports: [ConfigModule],
useFactory: async (configService: ConfigService) => ({
uri: configService.get<string>('database.uri'),
}),
inject: [ConfigService],
}),
],
providers: [
{
provide: MONGODB_REPOSITORY,
useClass: MongodbRepository,
},
],
exports: [MONGODB_REPOSITORY],
})
export class MongodbModule {}