refactor(v4.0.0-alpha): beginning of a new era

This commit is contained in:
Amruth Pillai
2023-11-05 12:31:42 +01:00
parent 0ba6a444e2
commit 22933bd412
505 changed files with 81829 additions and 0 deletions

View File

@ -0,0 +1,65 @@
import { HttpException, Module } from "@nestjs/common";
import { APP_INTERCEPTOR, APP_PIPE } from "@nestjs/core";
import { ServeStaticModule } from "@nestjs/serve-static";
import { RavenInterceptor, RavenModule } from "nest-raven";
import { ZodSerializerInterceptor, ZodValidationPipe } from "nestjs-zod";
import { join } from "path";
import { AuthModule } from "./auth/auth.module";
import { CacheModule } from "./cache/cache.module";
import { ConfigModule } from "./config/config.module";
import { DatabaseModule } from "./database/database.module";
import { HealthModule } from "./health/health.module";
import { MailModule } from "./mail/mail.module";
import { PrinterModule } from "./printer/printer.module";
import { ResumeModule } from "./resume/resume.module";
import { StorageModule } from "./storage/storage.module";
import { UserModule } from "./user/user.module";
import { UtilsModule } from "./utils/utils.module";
@Module({
imports: [
// Core Modules
ConfigModule,
DatabaseModule,
MailModule,
RavenModule,
CacheModule,
UtilsModule,
HealthModule,
ServeStaticModule.forRoot({
rootPath: join(__dirname, "..", "client"),
exclude: ["/api*", "/docs*"],
}),
// Feature Modules
AuthModule.register(),
UserModule,
ResumeModule,
StorageModule,
PrinterModule,
],
providers: [
{
provide: APP_PIPE,
useClass: ZodValidationPipe,
},
{
provide: APP_INTERCEPTOR,
useClass: ZodSerializerInterceptor,
},
{
provide: APP_INTERCEPTOR,
useValue: new RavenInterceptor({
filters: [
// Filter all HttpException with status code <= 500
{
type: HttpException,
filter: (exception: HttpException) => exception.getStatus() < 500,
},
],
}),
},
],
})
export class AppModule {}