import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { configModuleOptions } from '../shared/config/module-options' import { FirebaseModule } from './firebase/firebase.module' import { LoggerModule } from './logger/logger.module' import { LoggingInterceptor } from './interceptors/logging.interceptor' import { APP_INTERCEPTOR, APP_FILTER } from '@nestjs/core' import { AllExceptionsFilter } from './filters/all-exceptions.filter' @Module({ imports: [ConfigModule.forRoot(configModuleOptions), FirebaseModule, LoggerModule], providers: [ { provide: APP_INTERCEPTOR, useClass: LoggingInterceptor }, { provide: APP_FILTER, useClass: AllExceptionsFilter, }, ], exports: [ConfigModule, FirebaseModule, LoggerModule], }) export class SharedModule {}