UNPKG

@sphereon/ssi-sdk.wellknown-did-issuer

Version:

117 lines (108 loc) 5.52 kB
import { Credential } from '@veramo/data-store'; import { BaseEntity, Connection, MigrationInterface, QueryRunner } from 'typeorm'; import { IDidConfigurationResource, IIssueDomainLinkageCredentialOptions, IssuanceCallback, DomainLinkageCredential } from '@sphereon/wellknown-dids-client'; import { IPluginMethodMap, IAgentContext, IDIDManager, IAgentPlugin } from '@veramo/core'; import { OrPromise } from '@veramo/utils'; import { ICredentialStore } from '@sphereon/ssi-sdk.credential-store'; declare class DidConfigurationResourceEntity extends BaseEntity { origin: string; context: string; linkedDids: Array<Credential>; createdAt: Date; lastUpdatedAt: Date; } interface IWellKnownDidIssuer extends IPluginMethodMap { addLinkedDomainsService(args: IAddLinkedDomainsServiceArgs, context: RequiredContext): Promise<void>; getDidConfigurationResource(args: IGetDidConfigurationResourceArgs, context: RequiredContext): Promise<IDidConfigurationResource>; issueDidConfigurationResource(args: IIssueDidConfigurationResourceArgs, context: RequiredContext): Promise<IDidConfigurationResource>; issueDomainLinkageCredential(args: IIssueDomainLinkageCredentialArgs, context: RequiredContext): Promise<DomainLinkageCredential>; registerCredentialIssuance(args: IRegisterIssueCredentialArgs, context: RequiredContext): Promise<void>; removeCredentialIssuance(args: IRemoveCredentialIssuanceArgs, context: RequiredContext): Promise<boolean>; saveDidConfigurationResource(args: ISaveDidConfigurationResourceArgs, context: RequiredContext): Promise<void>; } interface IWellKnownDidIssuerOptionsArgs { credentialIssuances?: Record<string, IssuanceCallback>; } interface IRegisterIssueCredentialArgs { callbackName: string; credentialIssuance: IssuanceCallback; } interface IRemoveCredentialIssuanceArgs { callbackName: string; } interface IIssueDidConfigurationResourceArgs { issuances: Array<IIssueDomainLinkageCredentialArgs>; credentialIssuance?: string | IssuanceCallback; save?: boolean; } interface IIssueDomainLinkageCredentialArgs { did: string; origin: string; serviceId?: string; issuanceDate?: string; expirationDate: string; save?: boolean; options: IIssueDomainLinkageCredentialOptions; credentialIssuance?: string | IssuanceCallback; } interface IGetDidConfigurationResourceArgs { origin: string; } interface IAddLinkedDomainsServiceArgs { did: string; origin: string; serviceId?: string; } interface ISaveDidConfigurationResourceArgs { origin: string; didConfigurationResource: IDidConfigurationResource; } type RequiredContext = IAgentContext<IDIDManager & ICredentialStore>; /** * {@inheritDoc IWellKnownDidIssuer} */ declare class WellKnownDidIssuer implements IAgentPlugin { private dbConnection; readonly schema: any; readonly methods: IWellKnownDidIssuer; private readonly credentialIssuances; private readonly didConfigurationResourceRelations; constructor(dbConnection: OrPromise<Connection>, args?: IWellKnownDidIssuerOptionsArgs); /** {@inheritDoc IWellKnownDidIssuer.registerSignatureVerification} */ private registerCredentialIssuance; /** {@inheritDoc IWellKnownDidIssuer.removeSignatureVerification} */ private removeCredentialIssuance; /** {@inheritDoc IWellKnownDidIssuer.issueDidConfigurationResource} */ private issueDidConfigurationResource; /** {@inheritDoc IWellKnownDidIssuer.saveDidConfigurationResource} */ saveDidConfigurationResource(args: ISaveDidConfigurationResourceArgs, context: RequiredContext): Promise<void>; /** {@inheritDoc IWellKnownDidIssuer.getDidConfigurationResource} */ getDidConfigurationResource(args: IGetDidConfigurationResourceArgs, context: RequiredContext): Promise<IDidConfigurationResource>; /** {@inheritDoc IWellKnownDidIssuer.issueDomainLinkageCredential} */ issueDomainLinkageCredential(args: IIssueDomainLinkageCredentialArgs, context: RequiredContext): Promise<DomainLinkageCredential>; /** {@inheritDoc IWellKnownDidIssuer.addLinkedDomainsService} */ addLinkedDomainsService(args: IAddLinkedDomainsServiceArgs, context: RequiredContext): Promise<void>; private getCredentialIssuance; private saveDomainLinkageCredential; private normalizeCredential; private mapIssuances; } declare class CreateWellknownDidIssuer1661162010000 implements MigrationInterface { name: string; up(queryRunner: QueryRunner): Promise<void>; down(queryRunner: QueryRunner): Promise<void>; } /** * The migrations array that SHOULD be used when initializing a TypeORM database connection. * * These ensure the correct creation of tables and the proper migrations of data when tables change between versions. * * @public */ declare const WellknownDidIssuerMigrations: (typeof CreateWellknownDidIssuer1661162010000)[]; /** * @public */ declare const schema: any; declare const WellknownDidIssuerEntities: (typeof DidConfigurationResourceEntity)[]; export { DidConfigurationResourceEntity, type IAddLinkedDomainsServiceArgs, type IGetDidConfigurationResourceArgs, type IIssueDidConfigurationResourceArgs, type IIssueDomainLinkageCredentialArgs, type IRegisterIssueCredentialArgs, type IRemoveCredentialIssuanceArgs, type ISaveDidConfigurationResourceArgs, type IWellKnownDidIssuer, type IWellKnownDidIssuerOptionsArgs, type RequiredContext, WellKnownDidIssuer, WellknownDidIssuerEntities, WellknownDidIssuerMigrations, schema };