medisot-hyperledger-client

Hyperledger client for medisot

Usage no npm install needed!

<script type="module">
  import medisotHyperledgerClient from 'https://cdn.skypack.dev/medisot-hyperledger-client';
</script>

README


JIMI
A lightweight library that helps establish connection with the chaincode

How to use
To run the application:

  1. Install the library using:
npm install --save medisot-hyperledger-client
  1. Register the connection dependency that's required by medisot-hyperledger-client to connect with BCN:
container.bind<any>(HyperledgerClientTypes.Connection).toConstantValue(Connection);
  1. Register the medisot-hyperledger-client dependency in the application container:
import { HyperledgerClient, TYPES as HyperledgerClientTypes } from "medisot-hyperledger-client";

container.bind<HyperledgerClient>(TYPES.HyperledgerClient).to(HyperledgerClient);
  1. Inject this dependency wherever required and use it's apis:
export default class AppointmentService {
   constructor(@inject(TYPES.HyperledgerClient) private hyperledgerClient: HyperledgerClient) {}

   public async getAppointment(appointmentId: string, loggedInUser: string) {
       return this.hyperledgerClient.InvokeHandler("getAppointmentById", appointmentId, loggedInUser, null, true).then((appointmentResponse: any) => {
           if (appointmentResponse.success) {
               return AppUtils.createGenericServiceResponseObj(appointmentResponse, SERVICE_RESPONSE_STATUS.SUCCESS, null);
           } else {
               return AppUtils.createGenericServiceResponseObj(null, SERVICE_RESPONSE_STATUS.FAILED, appointmentResponse);
           }
       }).catch((err: any) => {
           return AppUtils.createGenericServiceResponseObj(null, SERVICE_RESPONSE_STATUS.FAILED, err);
       })
   }

   public async createAppointment(appointmentObj: any, username: string) {
       return this.hyperledgerClient.InvokeHandler("bookAppointment", JSON.stringify(appointmentObj), username, null, false).then((bookAppointmentResponse: any) => {
           if (bookAppointmentResponse.success) {
               return AppUtils.createGenericServiceResponseObj(bookAppointmentResponse, SERVICE_RESPONSE_STATUS.SUCCESS, null);
           } else {
               return AppUtils.createGenericServiceResponseObj(null, SERVICE_RESPONSE_STATUS.FAILED, bookAppointmentResponse);
           }
       }).catch((err: any) => {
           return AppUtils.createGenericServiceResponseObj(null, SERVICE_RESPONSE_STATUS.FAILED, err);
       })
   }
}