@sphereon/oid4vci-issuer
Version:
OpenID 4 Verifiable Credential Issuance issuer REST endpoints
29 lines (24 loc) • 953 B
text/typescript
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
}
}