import { RabbitMQModule } from '@nestjs-plus/rabbitmq'; import { MessagingClient } from '@nestjs.pro/common/dist/messaging/MessagingClient'; import { ElasticsearchLoggerModule } from '@nestjs.pro/logger-elasticsearch/dist/ElasticsearchLoggerModule'; import { MonitoringModule } from '@nestjs.pro/monitoring'; import { Module } from '@nestjs/common'; import { JwtModule } from '@nestjs/jwt'; import * as dotenv from 'dotenv'; import { RBAC_CONTROLLERS, RBAC_PROVIDERS } from './index'; import { LocalRBACMessageBus } from './LocalRBACMessageBus'; import { StartupService } from './Startup/StartupService'; import { TokenRepository } from '@tco.ai/models/dist/RBAC/TokenRepository'; import { ModelsModule } from '@tco.ai/models/dist/ModelsModule'; import { TypeOrmModule } from '@nestjs/typeorm'; import { TokensService } from './Tokens/TokensService'; dotenv.config(); console.log(process.env.DB_HOSTNAME); @Module({ imports: [ JwtModule.register({ secret: 'changeme' }), ModelsModule.forRoot(), TypeOrmModule.forFeature([ TokenRepository ]), ElasticsearchLoggerModule.forRoot({ name: 'rbac', index: 'logs', stdout: true, elasticsearchClientOptions: { nodes: `${ process.env.ELASTICSEARCH_SCHEME }://${ process.env.ELASTICSEARCH_HOST }:${ process.env.ELASTICSEARCH_PORT }`, auth: { username: process.env.ELASTICSEARCH_USERNAME, password: process.env.ELASTICSEARCH_PASSWORD } } }), MonitoringModule.forRoot({ exposePublicEndpoint: true }), RabbitMQModule.forRoot({ exchanges: [ { name: process.env.RABBITMQ_EXCHANGE, type: 'topic' } ], uri: process.env.RABBITMQ_URI }) ], controllers: RBAC_CONTROLLERS, providers: [ ...RBAC_PROVIDERS, LocalRBACMessageBus, MessagingClient, StartupService, TokensService // MessagingStartupService, ], exports: RBAC_PROVIDERS }) export class AppModule { }