import { MessagePublisherPort } from '@mobicoop/ddd-library'; import { HealthModule, HealthModuleOptions } from '@mobicoop/health-module'; import { LoggerModule } from '@modules/logger/logger.module'; import { MESSAGE_PUBLISHER } from '@modules/messager/messager.di-tokens'; import { MessagerModule } from '@modules/messager/messager.module'; import { HttpModule } from '@nestjs/axios'; import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true }), HttpModule, HealthModule.forRootAsync({ imports: [LoggerModule, MessagerModule], inject: [MESSAGE_PUBLISHER], useFactory: async ( messagePublisher: MessagePublisherPort, ): Promise => ({ serviceName: 'logger', criticalLoggingKey: 'logging.logger.health.crit', checkUrls: [ { name: 'google', url: 'https://www.google.fr', }, ], messagePublisher, }), }), LoggerModule, MessagerModule, ], controllers: [], providers: [], }) export class AppModule {}