@ula-aca/credential-definition
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

Universal Ledger Agent - Aries Cloudagent Credential Definition Plugin

npm (scoped)

This package handles everything that has to do with credential definitions in Hyperledger Aries. It allows to create and retrieve credential definitions from the ledger connected to the Aries Cloudagent.

Usage

CredentialDefinitionController

import { EventHandler } from 'universal-ledger-agent'
import { CredentialDefinitionController } from '@ula-aca/credential-definition'

const credentialDefinitionController = new CredentialDefinitionController({
  basePath: 'https://aca-py-api.com'
})

const eventHandler = new EventHandler([credentialDefinitionController])

@ula-aca/credential-definition/get-credential-definition-by-id

Gets a credential definition from the ledger

import { EventHandler, UlaResponse } from 'universal-ledger-agent'
import {
  CredentialDefinitionController,
  GetCredentialDefinitionByIdMessage,
  CredentialDefinitionMessageTypes
} from '@ula-aca/credential-definition'

const credentialDefinitionController = new CredentialDefinitionController({
  basePath: 'https://aca-py-api.com'
})

const eventHandler = new EventHandler([credentialDefinitionController])

const message: GetCredentialDefinitionByIdMessage = {
  type: CredentialDefinitionMessageTypes.GET_CREDENTIAL_DEFINITION_BY_ID,
  body: {
    credential_definition_id: 'Bqqp9wananY4uW2pRHACiT:3:CL:10:my-cred-def'
  }
}

eventHandler.processMsg(message, (response: UlaResponse) => {
  if (response.statusCode < 200 || response.statusCode >= 300) {
    // error
  } else {
    // response.body is response from /credential-definitions/{id} api endpoint in aca-py
    // https://ula-aca.github.io/aries-cloudagent-interface-javascript/#/credential-definition/get_credential_definitions__id_
    const result: GetCredentialDefinitionByIdResult = response.body
  }
})

@ula-aca/credential-definition/get-created-credential-definitions

Search for matching credential definitions that agent originated

import { EventHandler, UlaResponse } from 'universal-ledger-agent'
import {
  CredentialDefinitionController,
  GetCreatedCredentialDefinitionsMessage,
  CredentialDefinitionMessageTypes
} from '@ula-aca/credential-definition'

const credentialDefinitionController = new CredentialDefinitionController({
  basePath: 'https://aca-py-api.com'
})

const eventHandler = new EventHandler([credentialDefinitionController])

const message: GetCreatedCredentialDefinitionsMessage = {
  type: CredentialDefinitionMessageTypes.GET_CREATED_CREDENTIAL_DEFINITIONS,
  body: {
    // schema_id: '',
    // schema_issuer_did: '',
    // schema_name: '',
    // schema_version: '',
    // issuer_did: '',
    // credential_definition_id: ''
  }
}

eventHandler.processMsg(message, (response: UlaResponse) => {
  if (response.statusCode < 200 || response.statusCode >= 300) {
    // error
  } else {
    // response.body is response from /credential-definitions/created api endpoint in aca-py
    // https://ula-aca.github.io/aries-cloudagent-interface-javascript/#/credential-definition/get_credential_definitions_created
    const result: GetCreatedCredentialDefinitionsResult = response.body
  }
})

@ula-aca/credential-definition/create-credential-definition

Sends a credential definition to the ledger

import { EventHandler, UlaResponse } from 'universal-ledger-agent'
import {
  CredentialDefinitionController,
  CreateCredentialDefinitionMessage,
  CredentialDefinitionMessageTypes
} from '@ula-aca/credential-definition'

const credentialDefinitionController = new CredentialDefinitionController({
  basePath: 'https://aca-py-api.com'
})

const eventHandler = new EventHandler([credentialDefinitionController])

const message: CreateCredentialDefinitionMessage = {
  type: CredentialDefinitionMessageTypes.CREATE_CREDENTIAL_DEFINITION,
  body: {
    tag: 'my-cred-def',
    schema_id: 'Bqqp9wananY4uW2pRHACiT:2:Test:1.0'
  }
}

eventHandler.processMsg(message, (response: UlaResponse) => {
  if (response.statusCode < 200 || response.statusCode >= 300) {
    // error
  } else {
    // response.body is response from /credential-definitions post request api endpoint in aca-py
    // https://ula-aca.github.io/aries-cloudagent-interface-javascript/#/credential-definition/post_credential_definitions
    const result: CreateCredentialDefinitionResult = response.body
  }
})

Examples

For example usage see the examples/ directory.

Dependents (0)

Package Sidebar

Install

npm i @ula-aca/credential-definition

Weekly Downloads

0

Version

0.0.2

License

Apache-2.0

Unpacked Size

35.7 kB

Total Files

25

Last publish

Collaborators

  • timoglastra