This repository has been archived by the owner on Aug 13, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathapp.module.ts
55 lines (53 loc) · 1.91 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
import { Module, RequestMethod } from "@nestjs/common";
import { ConfigModule, ConfigService } from "@nestjs/config";
import { HttpModule } from "@nestjs/axios";
import { TerminusModule } from "@nestjs/terminus";
import { LoggerModule } from "nestjs-pino";
import { clc } from "@nestjs/common/utils/cli-colors.util";
import ApiConfig from "./config/api.config";
import GitHubConfig from "./config/github.config";
import DigitalOceanConfig from "./config/digital-ocean.config";
import { UserCardModule } from "./social-card/user-card/user-card.module";
import { S3FileStorageModule } from "./s3-file-storage/s3-file-storage.module";
import { HighlightCardModule } from "./social-card/highlight-card/highlight-card.module";
import { InsightCardModule } from "./social-card/insight-card/insight-card.module";
@Module({
imports: [
ConfigModule.forRoot({
load: [ApiConfig, GitHubConfig, DigitalOceanConfig],
isGlobal: true,
}),
LoggerModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
pinoHttp: {
name: `os.${String(config.get("api.codename")).toLowerCase()}`,
level: config.get("api.logging"),
transport: {
target: "pino-pretty",
options: {
colorize: true,
levelFirst: true,
translateTime: "UTC:hh:MM:ss.l",
singleLine: true,
messageFormat: `${clc.yellow(`[{context}]`)} ${clc.green(`{msg}`)}`,
ignore: "pid,hostname,context",
},
},
customProps: () => ({ context: "HTTP" }),
},
exclude: [{ method: RequestMethod.ALL, path: "check" }],
}),
}),
TerminusModule,
HttpModule,
S3FileStorageModule,
UserCardModule,
HighlightCardModule,
InsightCardModule,
],
controllers: [],
providers: [],
})
export class AppModule {}