dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_IssuanceModule cluster_IssuanceModule_providers cluster_IssuanceModule_exports cluster_IssuanceModule_imports ConfigurationModule ConfigurationModule IssuanceModule IssuanceModule ConfigurationModule->IssuanceModule CryptoModule CryptoModule CryptoModule->IssuanceModule Oid4vpModule Oid4vpModule Oid4vpModule->IssuanceModule PresentationsModule PresentationsModule PresentationsModule->IssuanceModule SessionModule SessionModule SessionModule->IssuanceModule TrustModule TrustModule TrustModule->IssuanceModule AuthorizeService AuthorizeService IssuanceModule->AuthorizeService ChainedAsService ChainedAsService IssuanceModule->ChainedAsService InteractiveAuthorizationService InteractiveAuthorizationService IssuanceModule->InteractiveAuthorizationService Oid4vciService Oid4vciService IssuanceModule->Oid4vciService AuthorizeService AuthorizeService AuthorizeService->IssuanceModule ChainedAsService ChainedAsService ChainedAsService->IssuanceModule DeferredCredentialService DeferredCredentialService DeferredCredentialService->IssuanceModule InteractiveAuthorizationService InteractiveAuthorizationService InteractiveAuthorizationService->IssuanceModule Oid4vciService Oid4vciService Oid4vciService->IssuanceModule WebhookService WebhookService WebhookService->IssuanceModule WellKnownService WellKnownService WellKnownService->IssuanceModule

File

src/issuer/issuance/issuance.module.ts

Description

Issuance Module - Handles credential issuance operations

Responsibilities:

  • Creating credential offers
  • OID4VCI protocol implementation
  • Authorization and token management
  • Credential issuance workflows

import { HttpModule } from "@nestjs/axios";
import { Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { CryptoModule } from "../../crypto/crypto.module";
import { SessionModule } from "../../session/session.module";
import { TrustModule } from "../../shared/trust/trust.module";
import { WebhookService } from "../../shared/utils/webhook/webhook.service";
import { Oid4vpModule } from "../../verifier/oid4vp/oid4vp.module";
import { PresentationsModule } from "../../verifier/presentations/presentations.module";
import { ConfigurationModule } from "../configuration/configuration.module";
import { CredentialOfferController } from "./offer/credential-offer.controller";
import { AuthorizeController } from "./oid4vci/authorize/authorize.controller";
import { AuthorizeService } from "./oid4vci/authorize/authorize.service";
import { InteractiveAuthorizationController } from "./oid4vci/authorize/interactive-authorization.controller";
import { InteractiveAuthorizationService } from "./oid4vci/authorize/interactive-authorization.service";
import { ChainedAsController } from "./oid4vci/chained-as/chained-as.controller";
import { ChainedAsService } from "./oid4vci/chained-as/chained-as.service";
import { ChainedAsSessionEntity } from "./oid4vci/chained-as/entities/chained-as-session.entity";
import { DeferredController } from "./oid4vci/deferred.controller";
import { DeferredCredentialService } from "./oid4vci/deferred-credential.service";
import { DeferredTransactionEntity } from "./oid4vci/entities/deferred-transaction.entity";
import { InteractiveAuthSessionEntity } from "./oid4vci/entities/interactive-auth-session.entity";
import { NonceEntity } from "./oid4vci/entities/nonces.entity";
import { Oid4vciMetadataController } from "./oid4vci/metadata/oid4vci-metadata.controller";
import { Oid4vciController } from "./oid4vci/oid4vci.controller";
import { Oid4vciService } from "./oid4vci/oid4vci.service";
import { WellKnownController } from "./oid4vci/well-known/well-known.controller";
import { WellKnownService } from "./oid4vci/well-known/well-known.service";

/**
 * Issuance Module - Handles credential issuance operations
 *
 * Responsibilities:
 * - Creating credential offers
 * - OID4VCI protocol implementation
 * - Authorization and token management
 * - Credential issuance workflows
 */
@Module({
    imports: [
        CryptoModule,
        ConfigurationModule,
        Oid4vpModule,
        PresentationsModule,
        SessionModule,
        HttpModule,
        TrustModule,
        TypeOrmModule.forFeature([
            NonceEntity,
            DeferredTransactionEntity,
            InteractiveAuthSessionEntity,
            ChainedAsSessionEntity,
        ]),
    ],
    controllers: [
        Oid4vciController,
        AuthorizeController,
        InteractiveAuthorizationController,
        ChainedAsController,
        CredentialOfferController,
        DeferredController,
        Oid4vciMetadataController,
        WellKnownController,
    ],
    providers: [
        AuthorizeService,
        InteractiveAuthorizationService,
        ChainedAsService,
        DeferredCredentialService,
        Oid4vciService,
        WellKnownService,
        WebhookService,
    ],
    exports: [
        AuthorizeService,
        InteractiveAuthorizationService,
        ChainedAsService,
        Oid4vciService,
    ],
})
export class IssuanceModule {}

results matching ""

    No results matching ""