waterwolf-auth/src/app.module.ts

60 lines
1.7 KiB
TypeScript
Raw Normal View History

2024-07-14 20:25:52 -04:00
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
2024-07-26 02:31:29 -04:00
import { ConfigModule, ConfigService } from '@nestjs/config';
import config from './config/config';
import { MailModule } from './mail/mail.module';
2024-07-18 21:59:27 -04:00
import { RedisModule } from './redis/redis.module';
import { OpenTelemetryModule } from 'nestjs-otel';
2024-07-26 02:31:29 -04:00
import databaseConfig from './config/database.config';
import { TypeOrmModule } from '@nestjs/typeorm';
import { TypeOrmConfigService } from './database/database-config.service';
import { AuthModule } from './auth/auth.module';
import { UserModule } from './user/user.module';
import { ServeStaticModule } from '@nestjs/serve-static';
import { join } from 'path';
2024-07-14 20:25:52 -04:00
@Module({
imports: [
2024-07-26 02:31:29 -04:00
OpenTelemetryModule.forRoot({
2024-07-18 21:59:27 -04:00
metrics: {
apiMetrics: {
enable: true,
ignoreRoutes: [
'/favicon.ico',
'/OidcServiceWorker.js',
'/swagger',
'/swagger-json',
'/swagger-yaml',
'/swagger/(.*)',
'/metrics',
'/interaction/(.*}',
],
ignoreUndefinedRoutes: true,
},
},
}),
ConfigModule.forRoot({
cache: true,
isGlobal: true,
2024-07-26 02:31:29 -04:00
load: [config, databaseConfig],
}),
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
useClass: TypeOrmConfigService,
inject: [ConfigService],
}),
ServeStaticModule.forRoot({
serveRoot: '/assets',
rootPath: join(__dirname, '..', 'assets'),
}),
MailModule,
2024-07-18 21:59:27 -04:00
RedisModule,
2024-07-26 02:31:29 -04:00
UserModule,
AuthModule,
],
2024-07-14 20:25:52 -04:00
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}