UNPKG

wallet-storage-client

Version:
56 lines 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.listCertificates = listCertificates; async function listCertificates(storage, auth, vargs, originator) { const paged = { limit: vargs.limit, offset: vargs.offset }; const partial = { userId: auth.userId, isDeleted: false }; if (vargs.partial) { const vp = vargs.partial; if (vp.type) partial['type'] = vp.type; if (vp.subject) partial['subject'] = vp.subject; if (vp.serialNumber) partial['serialNumber'] = vp.serialNumber; if (vp.certifier) partial['certifier'] = vp.certifier; if (vp.revocationOutpoint) partial['revocationOutpoint'] = vp.revocationOutpoint; if (vp.signature) partial['signature'] = vp.signature; } const r = await storage.transaction(async (trx) => { const findCertsArgs = { partial, certifiers: vargs.certifiers, types: vargs.types, paged, trx }; const certs = await storage.findCertificates(findCertsArgs); const certsWithFields = await Promise.all(certs.map(async (cert) => { const fields = await storage.findCertificateFields({ partial: { certificateId: cert.certificateId, userId: auth.userId }, trx }); return { ...cert, fields: Object.fromEntries(fields.map(f => ([f.fieldName, f.fieldValue]))), masterKeyring: Object.fromEntries(fields.map(f => ([f.fieldName, f.masterKey]))) }; })); const r = { totalCertificates: 0, certificates: certsWithFields.map(cwf => ({ type: cwf.type, subject: cwf.subject, serialNumber: cwf.serialNumber, certifier: cwf.certifier, revocationOutpoint: cwf.revocationOutpoint, signature: cwf.signature, fields: cwf.fields, verifier: cwf.verifier, keyring: cwf.masterKeyring })) }; if (r.certificates.length < paged.limit) r.totalCertificates = r.certificates.length; else { r.totalCertificates = await storage.countCertificates(findCertsArgs); } return r; }); return r; } //# sourceMappingURL=listCertificates.js.map