40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { Project } from '../projects/project.entity';
|
|
import { ReposResolver } from './repos.resolver';
|
|
import { ReposService } from './repos.service';
|
|
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
import { ProjectsModule } from '../projects/projects.module';
|
|
import { EXCHANGE_REPO } from './repos.constants';
|
|
import { RabbitMQModule } from '@golevelup/nestjs-rabbitmq';
|
|
import { CommonsModule } from '../commons/commons.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forFeature([Project]),
|
|
ConfigModule,
|
|
ProjectsModule,
|
|
CommonsModule,
|
|
RabbitMQModule.forRootAsync(RabbitMQModule, {
|
|
imports: [ConfigModule],
|
|
useFactory: (configService: ConfigService) => ({
|
|
uri: configService.get<string>('db.rabbitmq.uri'),
|
|
exchanges: [
|
|
{
|
|
name: EXCHANGE_REPO,
|
|
type: 'topic',
|
|
options: {
|
|
durable: true,
|
|
autoDelete: true,
|
|
},
|
|
},
|
|
],
|
|
}),
|
|
inject: [ConfigService],
|
|
}),
|
|
],
|
|
providers: [ReposResolver, ReposService],
|
|
exports: [ReposService],
|
|
})
|
|
export class ReposModule {}
|