dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_IssuerModule cluster_IssuerModule_imports cluster_IssuerModule_exports cluster_IssuerModule_providers CryptoModule CryptoModule IssuerModule IssuerModule CryptoModule->IssuerModule Oid4vpModule Oid4vpModule Oid4vpModule->IssuerModule SessionModule SessionModule SessionModule->IssuerModule StatusListModule StatusListModule StatusListModule->IssuerModule AuthorizeService AuthorizeService IssuerModule->AuthorizeService CredentialConfigService CredentialConfigService IssuerModule->CredentialConfigService IssuanceService IssuanceService IssuerModule->IssuanceService Oid4vciService Oid4vciService IssuerModule->Oid4vciService AuthorizeService AuthorizeService AuthorizeService->IssuerModule CredentialConfigService CredentialConfigService CredentialConfigService->IssuerModule CredentialsService CredentialsService CredentialsService->IssuerModule DisplayService DisplayService DisplayService->IssuerModule IssuanceService IssuanceService IssuanceService->IssuerModule Oid4vciService Oid4vciService Oid4vciService->IssuerModule WebhookService WebhookService WebhookService->IssuerModule
import { HttpModule } from "@nestjs/axios";
import { Module } from "@nestjs/common";
import { ConfigService } from "@nestjs/config";
import { TypeOrmModule } from "@nestjs/typeorm";
import { setGlobalConfig } from "@openid4vc/openid4vci";
import { CryptoModule } from "../crypto/crypto.module";
import { SessionModule } from "../session/session.module";
import { WebhookService } from "../utils/webhook/webhook.service";
import { Oid4vpModule } from "../verifier/oid4vp/oid4vp.module";
import { AuthorizeController } from "./authorize/authorize.controller";
import { AuthorizeService } from "./authorize/authorize.service";
import { CredentialConfigService } from "./credentials/credential-config/credential-config.service";
import { CredentialsController } from "./credentials/credentials.controller";
import { CredentialsService } from "./credentials/credentials.service";
import { CredentialConfig } from "./credentials/entities/credential.entity";
import { CredentialsMetadataController } from "./credentials-metadata/credentials-metadata.controller";
import { DisplayController } from "./display/display.controller";
import { DisplayService } from "./display/display.service";
import { DisplayEntity } from "./display/entities/display.entity";
import { IssuanceConfig } from "./issuance/entities/issuance-config.entity";
import { IssuanceController } from "./issuance/issuance.controller";
import { IssuanceService } from "./issuance/issuance.service";
import { IssuerManagementController } from "./issuer-management/issuer-management.controller";
import { Oid4vciController } from "./oid4vci/oid4vci.controller";
import { Oid4vciService } from "./oid4vci/oid4vci.service";
import { StatusListModule } from "./status-list/status-list.module";

@Module({
    imports: [
        CryptoModule,
        StatusListModule,
        Oid4vpModule,
        SessionModule,
        HttpModule,
        TypeOrmModule.forFeature([
            IssuanceConfig,
            CredentialConfig,
            DisplayEntity,
        ]),
    ],
    controllers: [
        Oid4vciController,
        AuthorizeController,
        CredentialsController,
        IssuerManagementController,
        IssuanceController,
        CredentialsMetadataController,
        DisplayController,
    ],
    providers: [
        AuthorizeService,
        CredentialsService,
        Oid4vciService,
        IssuanceService,
        CredentialConfigService,
        WebhookService,
        DisplayService,
    ],
    exports: [
        AuthorizeService,
        Oid4vciService,
        IssuanceService,
        CredentialConfigService,
    ],
})
export class IssuerModule {
    constructor(configService: ConfigService) {
        const unsecure = configService
            .getOrThrow<string>("PUBLIC_URL")
            .startsWith("http://");
        setGlobalConfig({ allowInsecureUrls: unsecure });
    }
}

results matching ""

    No results matching ""