-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.module.ts
67 lines (65 loc) · 2.21 KB
/
app.module.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import { MiddlewareConsumer, Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { ScheduleModule } from '@nestjs/schedule';
import { join } from 'path';
import { ServeStaticModule } from '@nestjs/serve-static';
import { MikroOrmModule } from '@mikro-orm/nestjs';
import { MongoDriver } from '@mikro-orm/mongodb';
import { HealthModule } from './health/health.module';
import { ProvisionModule } from './provision/provision.module';
import { TokenModule } from './token/token.module';
import { AuditModule } from './audit/audit.module';
import { AuthModule } from './auth/auth.module';
import { AccessLogsMiddleware } from './access-logs.middleware';
import { AwsModule } from './aws/aws.module';
import { IntentionModule } from './intention/intention.module';
import { PersistenceModule } from './persistence/persistence.module';
import { GraphModule } from './graph/graph.module';
import { CollectionModule } from './collection/collection.module';
import { getMongoDbConnectionUrl } from './persistence/mongo/mongo.util';
import { PreferenceModule } from './preference/preference.module';
import { RedisModule } from './redis/redis.module';
import { SystemModule } from './system/system.module';
import { PackageModule } from './package/package.module';
import { VaultModule } from './vault/vault.module';
import { GithubModule } from './github/github.module';
@Module({
imports: [
ConfigModule.forRoot({
ignoreEnvFile: true,
}),
ScheduleModule.forRoot(),
MikroOrmModule.forRoot({
autoLoadEntities: true,
clientUrl: getMongoDbConnectionUrl(),
driver: MongoDriver,
ensureIndexes: true,
}),
ServeStaticModule.forRoot({
rootPath: join(__dirname, '..', process.env.NESTJS_UI_ROOT_PATH),
}),
HealthModule,
IntentionModule,
ProvisionModule,
TokenModule,
AuditModule,
AuthModule,
AwsModule,
PersistenceModule,
GraphModule,
CollectionModule,
PreferenceModule,
RedisModule,
SystemModule,
PackageModule,
VaultModule,
GithubModule,
],
controllers: [],
providers: [],
})
export class AppModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(AccessLogsMiddleware).forRoutes('*');
}
}