UNPKG

@sphereon/oid4vci-issuer

Version:

OpenID 4 Verifiable Credential Issuance issuer REST endpoints

29 lines (24 loc) 953 B
import { AssertedUniformCredentialOffer, CredentialOfferSession } from '@sphereon/oid4vci-common' export class CredentialOfferStateBuilder { private readonly credentialOfferState: Partial<CredentialOfferSession> constructor() { this.credentialOfferState = {} } credentialOffer(credentialOffer: AssertedUniformCredentialOffer): CredentialOfferStateBuilder { this.credentialOfferState.credentialOffer = credentialOffer return this } createdAt(timestamp: number): CredentialOfferStateBuilder { this.credentialOfferState.createdAt = timestamp return this } build(): CredentialOfferSession { if (!this.credentialOfferState.createdAt) { this.credentialOfferState.createdAt = +new Date() } if (!this.credentialOfferState.credentialOffer) { throw new Error('Not all properties are present to build an IssuerState object') } return this.credentialOfferState as CredentialOfferSession } }