@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
95 lines (91 loc) • 3.57 kB
JavaScript
import { InjectionSymbols } from "../../../constants.mjs";
import { inject, injectable } from "../../../plugins/index.mjs";
import { __decorateMetadata } from "../../../_virtual/_@oxc-project_runtime@0.112.0/helpers/decorateMetadata.mjs";
import { __decorate } from "../../../_virtual/_@oxc-project_runtime@0.112.0/helpers/decorate.mjs";
import "../../kms/index.mjs";
import { DidDocumentRole } from "../domain/DidDocumentRole.mjs";
import { DidRecord } from "./DidRecord.mjs";
import { __decorateParam } from "../../../_virtual/_@oxc-project_runtime@0.112.0/helpers/decorateParam.mjs";
import { EventEmitter } from "../../../agent/EventEmitter.mjs";
import { Repository } from "../../../storage/Repository.mjs";
//#region src/modules/dids/repository/DidRepository.ts
var _ref;
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: DidDocumentRole.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: DidDocumentRole.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: DidDocumentRole.Received
});
}
findCreatedDid(agentContext, createdDid) {
return this.findSingleByQuery(agentContext, {
$or: [{ alternativeDids: [createdDid] }, { did: createdDid }],
role: DidDocumentRole.Created
});
}
getCreatedDids(agentContext, { method, did }) {
return this.findByQuery(agentContext, {
role: DidDocumentRole.Created,
method,
$or: did ? [{ alternativeDids: [did] }, { did }] : void 0
});
}
async storeCreatedDid(agentContext, { did, didDocument, tags, keys }) {
const didRecord = new DidRecord({
did,
didDocument,
role: DidDocumentRole.Created,
tags,
keys
});
await this.save(agentContext, didRecord);
return didRecord;
}
async storeReceivedDid(agentContext, { did, didDocument, tags }) {
const didRecord = new DidRecord({
did,
didDocument,
role: DidDocumentRole.Received,
tags
});
await this.save(agentContext, didRecord);
return didRecord;
}
};
DidRepository = __decorate([
injectable(),
__decorateParam(0, inject(InjectionSymbols.StorageService)),
__decorateMetadata("design:paramtypes", [Object, typeof (_ref = typeof EventEmitter !== "undefined" && EventEmitter) === "function" ? _ref : Object])
], DidRepository);
//#endregion
export { DidRepository };
//# sourceMappingURL=DidRepository.mjs.map