import { Module } from '@nestjs/common'; import { APP_FILTER, APP_GUARD, Reflector } from '@nestjs/core'; import { HttpExceptionFilter } from './filters/http-exception.filter'; import { ProjectModule } from './project/project.module'; import { AuthGuard, AuthModule, UserModule } from '@noahspan/noahspan-modules' import { ConfigModule, ConfigService } from '@nestjs/config'; import configuration from './config/configuration'; @Module({ imports: [ AuthModule.registerAsync({ inject: [ConfigService], imports: [ConfigModule], useFactory: async (configService: ConfigService) => { return { clientId: configService.get('clientId'), clientSecret: configService.get('clientSecret'), tenantId: configService.get('tenantId') } } }), ConfigModule.forRoot({ load: [configuration] }), UserModule.registerAsync({ inject: [ConfigService], imports: [ConfigModule], useFactory: async (configService: ConfigService) => { return { clientId: configService.get('clientId'), clientSecret: configService.get('clientSecret'), tenantId: configService.get('tenantId') } } }), ProjectModule ], providers: [ { provide: APP_FILTER, useClass: HttpExceptionFilter } ] }) export class AppModule {}