dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_AppModule cluster_AppModule_imports cluster_AppModule_providers AuthModule AuthModule AppModule AppModule AuthModule->AppModule CryptoModule CryptoModule CryptoModule->AppModule DatabaseModule DatabaseModule DatabaseModule->AppModule DatabaseModule->AppModule HealthModule HealthModule HealthModule->AppModule IssuerModule IssuerModule IssuerModule->AppModule KeyModule KeyModule KeyModule->AppModule LoggerModule LoggerModule LoggerModule->AppModule MetricModule MetricModule MetricModule->AppModule RegistrarModule RegistrarModule RegistrarModule->AppModule SessionModule SessionModule SessionModule->AppModule StorageModule StorageModule StorageModule->AppModule VerifierModule VerifierModule VerifierModule->AppModule WellKnownService WellKnownService WellKnownService->AppModule
import { Module } from "@nestjs/common";
import { ConfigModule, ConfigService } from "@nestjs/config";
import { MulterModule } from "@nestjs/platform-express";
import { ScheduleModule } from "@nestjs/schedule";
import { ServeStaticModule } from "@nestjs/serve-static";
import { memoryStorage } from "multer";
import { LoggerModule } from "nestjs-pino";
import { AppController } from "./app/app.controller";
import { AuthModule } from "./auth/auth.module";
import { CryptoModule } from "./crypto/crypto.module";
import { KeyModule } from "./crypto/key/key.module";
import { DatabaseModule } from "./database/database.module";
import { HealthModule } from "./health/health.module";
import { IssuerModule } from "./issuer/issuer.module";
import { MetricModule } from "./metric/metric.module";
import { RegistrarModule } from "./registrar/registrar.module";
import { SessionModule } from "./session/session.module";
import { StorageModule } from "./storage/storage.module";
import { VALIDATION_SCHEMA } from "./utils/config-printer/combined.schema";
import { createLoggerOptions } from "./utils/logger/logger.factory";
import { createServeStaticOptions } from "./utils/serve-static.factory";
import { VerifierModule } from "./verifier/verifier.module";
import { WellKnownController } from "./well-known/well-known.controller";
import { WellKnownService } from "./well-known/well-known.service";

@Module({
    imports: [
        ConfigModule.forRoot({
            validationSchema: VALIDATION_SCHEMA,
            isGlobal: true,
            expandVariables: true,
        }),
        LoggerModule.forRootAsync({
            imports: [ConfigModule],
            inject: [ConfigService],
            useFactory: createLoggerOptions,
        }),
        AuthModule,
        KeyModule.forRoot(),
        MulterModule.register({
            storage: memoryStorage(),
        }),
        CryptoModule,
        IssuerModule,
        VerifierModule,
        RegistrarModule,
        ScheduleModule.forRoot(),
        ServeStaticModule.forRootAsync({
            imports: [ConfigModule],
            inject: [ConfigService],
            useFactory: createServeStaticOptions,
        }),
        DatabaseModule,
        SessionModule,
        DatabaseModule,
        HealthModule,
        MetricModule,
        StorageModule.forRoot(),
    ],
    controllers: [WellKnownController, AppController],
    providers: [WellKnownService],
})
export class AppModule {}

results matching ""

    No results matching ""