dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_AppModule cluster_AppModule_imports AuthModule AuthModule AppModule AppModule AuthModule->AppModule ConfigImportModule ConfigImportModule ConfigImportModule->AppModule CoreModule CoreModule CoreModule->AppModule CryptoModule CryptoModule CryptoModule->AppModule DatabaseModule DatabaseModule DatabaseModule->AppModule DatabaseModule->AppModule IssuerModule IssuerModule IssuerModule->AppModule KeyModule KeyModule KeyModule->AppModule LoggerModule LoggerModule LoggerModule->AppModule RegistrarModule RegistrarModule RegistrarModule->AppModule SessionModule SessionModule SessionModule->AppModule StorageModule StorageModule StorageModule->AppModule VerifierModule VerifierModule VerifierModule->AppModule
import { Module } from "@nestjs/common";
import { ConfigModule, ConfigService } from "@nestjs/config";
import { DevtoolsModule } from "@nestjs/devtools-integration";
import { MulterModule } from "@nestjs/platform-express";
import { ScheduleModule } from "@nestjs/schedule";
import { memoryStorage } from "multer";
import { LoggerModule } from "nestjs-pino";
import { AuthModule } from "./auth/auth.module";
import { CoreModule } from "./core/core.module";
import { CryptoModule } from "./crypto/crypto.module";
import { KeyModule } from "./crypto/key/key.module";
import { DatabaseModule } from "./database/database.module";
import { IssuerModule } from "./issuer/issuer.module";
import { RegistrarModule } from "./registrar/registrar.module";
import { SessionModule } from "./session/session.module";
import { ConfigImportModule } from "./shared/utils/config-import/config-import.module";
import { VALIDATION_SCHEMA } from "./shared/utils/config-printer/combined.schema";
import { createLoggerOptions } from "./shared/utils/logger/logger.factory";
import { StorageModule } from "./storage/storage.module";
import { VerifierModule } from "./verifier/verifier.module";

@Module({
    imports: [
        ConfigModule.forRoot({
            validationSchema: VALIDATION_SCHEMA,
            isGlobal: true,
            expandVariables: true,
        }),
        DevtoolsModule.register({
            http: process.env.NODE_ENV !== "production",
        }),
        LoggerModule.forRootAsync({
            imports: [ConfigModule],
            inject: [ConfigService],
            useFactory: createLoggerOptions,
        }),
        CoreModule,
        AuthModule,
        KeyModule.forRoot(),
        MulterModule.register({
            storage: memoryStorage(),
        }),
        CryptoModule,
        IssuerModule,
        VerifierModule,
        RegistrarModule,
        ScheduleModule.forRoot(),
        DatabaseModule,
        SessionModule,
        DatabaseModule,
        StorageModule.forRoot(),
        ConfigImportModule,
    ],
    controllers: [],
    providers: [],
})
export class AppModule {}

results matching ""

    No results matching ""