UNPKG

@credo-ts/core

Version:

<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1

91 lines (90 loc) • 3.4 kB
import { InjectionSymbols } from "../../../constants.mjs"; import { inject, injectable } from "../../../plugins/index.mjs"; import __decorateMetadata from "../../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.mjs"; import __decorate from "../../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.mjs"; import "../../kms/index.mjs"; import __decorateParam from "../../../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateParam.mjs"; import { EventEmitter } from "../../../agent/EventEmitter.mjs"; import { Repository } from "../../../storage/Repository.mjs"; import "../domain/DidDocumentRole.mjs"; import { DidRecord } from "./DidRecord.mjs"; //#region src/modules/dids/repository/DidRepository.ts let DidRepository = class DidRepository extends Repository { constructor(storageService, eventEmitter) { super(DidRecord, storageService, eventEmitter); } /** * Finds a {@link DidRecord}, containing the specified recipientKey that was received by this agent. * To find a {@link DidRecord} that was created by this agent, use {@link DidRepository.findCreatedDidByRecipientKey}. */ findReceivedDidByRecipientKey(agentContext, recipientKey) { return this.findSingleByQuery(agentContext, { recipientKeyFingerprints: [recipientKey.fingerprint], role: "received" }); } /** * Finds a {@link DidRecord}, containing the specified recipientKey that was created by this agent. * To find a {@link DidRecord} that was received by this agent, use {@link DidRepository.findReceivedDidByRecipientKey}. */ findCreatedDidByRecipientKey(agentContext, recipientKey) { return this.findSingleByQuery(agentContext, { recipientKeyFingerprints: [recipientKey.fingerprint], role: "created" }); } findAllByRecipientKey(agentContext, recipientKey) { return this.findByQuery(agentContext, { recipientKeyFingerprints: [recipientKey.fingerprint] }); } findAllByDid(agentContext, did) { return this.findByQuery(agentContext, { $or: [{ alternativeDids: [did] }, { did }] }); } findReceivedDid(agentContext, receivedDid) { return this.findSingleByQuery(agentContext, { $or: [{ alternativeDids: [receivedDid] }, { did: receivedDid }], role: "received" }); } findCreatedDid(agentContext, createdDid) { return this.findSingleByQuery(agentContext, { $or: [{ alternativeDids: [createdDid] }, { did: createdDid }], role: "created" }); } getCreatedDids(agentContext, { method, did }) { return this.findByQuery(agentContext, { role: "created", method, $or: did ? [{ alternativeDids: [did] }, { did }] : void 0 }); } async storeCreatedDid(agentContext, { did, didDocument, tags, keys }) { const didRecord = new DidRecord({ did, didDocument, role: "created", tags, keys }); await this.save(agentContext, didRecord); return didRecord; } async storeReceivedDid(agentContext, { did, didDocument, tags }) { const didRecord = new DidRecord({ did, didDocument, role: "received", tags }); await this.save(agentContext, didRecord); return didRecord; } }; DidRepository = __decorate([ injectable(), __decorateParam(0, inject(InjectionSymbols.StorageService)), __decorateMetadata("design:paramtypes", [Object, typeof EventEmitter === "undefined" ? Object : EventEmitter]) ], DidRepository); //#endregion export { DidRepository }; //# sourceMappingURL=DidRepository.mjs.map