Skip to main content

DataStore class

This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

This class implements the IDataStore interface using a TypeORM compatible database.

This allows you to store and retrieve Verifiable Credentials, Presentations and Messages by their IDs.

For more complex queries you should use DataStoreORM which is the default way to query the stored data by some common properties. These two classes MUST also share the same database connection.

Signature:

export declare class DataStore implements IAgentPlugin

Implements: IAgentPlugin

Constructors

ConstructorModifiersDescription
(constructor)(dbConnection)(BETA) Constructs a new instance of the DataStore class

Properties

PropertyModifiersTypeDescription
methodsreadonlyIDataStore(BETA)
schemareadonly{ components: { schemas: { IDataStoreDeleteMessageArgs: { type: string; properties: { id: { type: string; description: string; }; }; required: string[]; description: string; }; IDataStoreDeleteVerifiableCredentialArgs: { type: string; properties: { hash: { type: string; description: string; }; }; required: string[]; description: string; }; IDataStoreGetMessageArgs: { type: string; properties: { id: { type: string; description: string; }; }; required: string[]; description: string; }; IMessage: { type: string; properties: { id: { type: string; description: string; }; type: { type: string; description: string; }; createdAt: { type: string; description: string; }; expiresAt: { type: string; description: string; }; threadId: { type: string; description: string; }; raw: { type: string; description: string; }; data: { anyOf: { type: string; }[]; description: string; }; replyTo: { type: string; items: { type: string; }; description: string; }; replyUrl: { type: string; description: string; }; from: { type: string; description: string; }; to: { type: string; description: string; }; metaData: { anyOf: ({ type: string; items: { $ref: string; }; } | { type: string; items?: undefined; })[]; description: string; }; credentials: { type: string; items: { $ref: string; }; description: string; }; presentations: { type: string; items: { $ref: string; }; description: string; }; attachments: { type: string; items: { $ref: string; }; description: string; }; returnRoute: { type: string; description: string; }; }; required: string[]; description: string; }; IMetaData: { type: string; properties: { type: { type: string; description: string; }; value: { type: string; description: string; }; }; required: string[]; description: string; }; VerifiableCredential: { type: string; properties: { proof: { $ref: string; }; issuer: { $ref: string; }; credentialSubject: { $ref: string; }; type: { anyOf: ({ type: string; items: { type: string; }; } | { type: string; items?: undefined; })[]; }; "@context": { $ref: string; }; issuanceDate: { type: string; }; expirationDate: { type: string; }; credentialStatus: { $ref: string; }; id: { type: string; }; }; required: string[]; description: string; }; ProofType: { type: string; properties: { type: { type: string; }; }; description: string; }; IssuerType: { anyOf: ({ type: string; properties: { id: { type: string; }; }; required: string[]; } | { type: string; properties?: undefined; required?: undefined; })[]; description: string; }; CredentialSubject: { type: string; properties: { id: { type: string; }; }; description: string; }; ContextType: { anyOf: ({ type: string; items?: undefined; } | { type: string; items: { anyOf: { type: string; }[]; }; })[]; description: string; }; CredentialStatusReference: { type: string; properties: { id: { type: string; }; type: { type: string; }; }; required: string[]; description: string; }; VerifiablePresentation: { type: string; properties: { proof: { $ref: string; }; holder: { type: string; }; verifiableCredential: { type: string; items: { $ref: string; }; }; type: { anyOf: ({ type: string; items: { type: string; }; } | { type: string; items?: undefined; })[]; }; "@context": { $ref: string; }; verifier: { type: string; items: { type: string; }; }; issuanceDate: { type: string; }; expirationDate: { type: string; }; id: { type: string; }; }; required: string[]; description: string; }; W3CVerifiableCredential: { anyOf: { $ref: string; }[]; description: string; }; CompactJWT: { type: string; description: string; }; IMessageAttachment: { type: string; properties: { id: { type: string; }; description: { type: string; }; filename: { type: string; }; media_type: { type: string; }; format: { type: string; }; lastmod_time: { type: string; }; byte_count: { type: string; }; data: { $ref: string; }; }; required: string[]; description: string; }; IMessageAttachmentData: { type: string; properties: { jws: {}; hash: { type: string; }; links: { type: string; items: { type: string; }; }; base64: { type: string; }; json: {}; }; description: string; }; IDataStoreGetVerifiableCredentialArgs: { type: string; properties: { hash: { type: string; description: string; }; }; required: string[]; description: string; }; IDataStoreGetVerifiablePresentationArgs: { type: string; properties: { hash: { type: string; description: string; }; }; required: string[]; description: string; }; IDataStoreSaveMessageArgs: { type: string; properties: { message: { $ref: string; description: string; }; }; required: string[]; description: string; }; IDataStoreSaveVerifiableCredentialArgs: { type: string; properties: { verifiableCredential: { $ref: string; description: string; }; }; required: string[]; description: string; }; IDataStoreSaveVerifiablePresentationArgs: { type: string; properties: { verifiablePresentation: { $ref: string; description: string; }; }; required: string[]; description: string; }; }; methods: { dataStoreDeleteMessage: { description: string; arguments: { $ref: string; }; returnType: { type: string; }; }; dataStoreDeleteVerifiableCredential: { description: string; arguments: { $ref: string; }; returnType: { type: string; }; }; dataStoreGetMessage: { description: string; arguments: { $ref: string; }; returnType: { $ref: string; }; }; dataStoreGetVerifiableCredential: { description: string; arguments: { $ref: string; }; returnType: { $ref: string; }; }; dataStoreGetVerifiablePresentation: { description: string; arguments: { $ref: string; }; returnType: { $ref: string; }; }; dataStoreSaveMessage: { description: string; arguments: { $ref: string; }; returnType: { type: string; }; }; dataStoreSaveVerifiableCredential: { description: string; arguments: { $ref: string; }; returnType: { type: string; }; }; dataStoreSaveVerifiablePresentation: { description: string; arguments: { $ref: string; }; returnType: { type: string; }; }; }; }; }(BETA)

Methods

MethodModifiersDescription
dataStoreDeleteMessage(args)(BETA)
dataStoreDeleteVerifiableCredential(args)(BETA)
dataStoreGetMessage(args)(BETA)
dataStoreGetVerifiableCredential(args)(BETA)
dataStoreGetVerifiablePresentation(args)(BETA)
dataStoreSaveMessage(args)(BETA)
dataStoreSaveVerifiableCredential(args)(BETA)
dataStoreSaveVerifiablePresentation(args)(BETA)