From 0e24724664bf0af3b3e6041b8fb4758682b9603c Mon Sep 17 00:00:00 2001 From: Pratap2018 Date: Mon, 25 Nov 2024 10:31:22 +0530 Subject: [PATCH] added a localcaching for didDocument --- src/credential/services/credential.service.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/credential/services/credential.service.ts b/src/credential/services/credential.service.ts index 61108fe..f74d4c9 100644 --- a/src/credential/services/credential.service.ts +++ b/src/credential/services/credential.service.ts @@ -23,7 +23,8 @@ import { } from '../dto/register-credential.dto'; import { getAppVault, getAppMenemonic } from '../../utils/app-vault-service'; import { TxSendModuleService } from 'src/tx-send-module/tx-send-module.service'; - +import * as NodeCache from 'node-cache'; +const myCache = new NodeCache(); @Injectable() export class CredentialService { constructor( @@ -112,7 +113,16 @@ export class CredentialService { ); const seed = await this.hidWallet.getSeedFromMnemonic(issuerMnemonic); const hypersignDid = new HypersignDID(); - const { didDocument } = await hypersignDid.resolve({ did: issuerDid }); + let didDocument; + if (myCache.has(issuerDid)) { + didDocument = myCache.get(issuerDid); + console.log('Getting from Cache'); + } else { + const resp = await hypersignDid.resolve({ did: issuerDid }); + didDocument = resp.didDocument; + myCache.set(issuerDid, didDocument); + Logger.log('Setting Cache'); + } const verificationMethod = didDocument.verificationMethod.find( (vm) => vm.id === verificationMethodId, ); @@ -192,6 +202,7 @@ export class CredentialService { } = await hypersignVC.issue({ credential, issuerDid, + issuerDidDoc: didDocument, verificationMethodId, privateKeyMultibase, registerCredential: false,