@heathmont/ih-ngiw

1.0.2 • Public • Published

ih-ngiw

Hub88 Next Generation Integration Wrapper

Usage

First of all you need to install package:

npm install --save @heathmont/ih-ngiw

Then you can include your it in your own script:

const Ngiw = require("@heathmont/ih-ngiw");

You should already have public and private key for checking requests from Hub88, in case you don't read about it here: https://github.com/coingaming/Hub88-Examples.

Constructor accepts port and publicKey, privateKey params:

const path = require("path");

const w = new Ngiw({
  port: 3000,
  publicKey: path.resolve(__dirname, "priv/demo_pub.pem"),
  privateKey: path.resolve(__dirname, "priv/demo_priv.pem")
});

You need to implement 4 callbacks, for example:

const balance = req => {
  const user = db.findUserBySession(req.token);
  return { user: user.name, balance: user.balance, currency: "EUR" };
}

const win = req => {
  const game = db.winGame(req.transaction_uuid);
  return { user: game.user, balance: game.balance, currency: "EUR" };
}

const rollback = req => {
  const transaction = db.rollbackTransaction(req.transaction_uuid);
  return {
    user: transaction.user,
    balance: transaction.balance,
    currency: "EUR"
  };
}

const bet = req => {
  const transaction = db.betTransaction(req.transaction_uuid);
  return {
    user: transaction.user,
    balance: transaction.balance,
    currency: "EUR"
  };
}

w.balance(balance);
w.win(win);
w.rollback(rollback);
w.bet(bet);
w.start();

Every callback called with different params, you can find description here in body section: https://app.swaggerhub.com/apis/hub88/hub88/2.0#/Wallet%20API. For example balance callback called with token and game_id (you should not care about request_uuid, it handled internally).

In every callback you should return user, balance, and currency fields. Or if something goes wrong your can return status field, you can grab all statuses from Ngiw.STATUS_CODES. For example:

const { RS_ERROR_USER_DISABLED } = Ngiw.STATUS_CODES;

w.balance(res => {
  return { status: RS_ERROR_USER_DISABLED };
})

More compilcated example can be found in example/ folder.

Readme

Keywords

Package Sidebar

Install

npm i @heathmont/ih-ngiw

Weekly Downloads

3

Version

1.0.2

License

ISC

Unpacked Size

27.4 kB

Total Files

5

Last publish

Collaborators

  • levin_ua
  • oleksandr.makarenko
  • reshma.ramnani
  • yolo-vikram
  • erikcardona
  • zamazzal
  • natkadzoll
  • shiwantha-lakmal
  • rochelle.abeywickrama
  • jevgenim7
  • robsukas
  • memoryinject
  • febil.tvr
  • elvirariianova
  • vladko
  • martinnoukas
  • arcigo_yologroup
  • anton.shaban
  • yasirasar
  • lmy_yolo
  • diamoroz
  • keionov
  • rashmimadabavita
  • koplialice
  • penguinium-256
  • onakorchevska
  • vallasan
  • marsta
  • semoint
  • vvasylkov
  • oxiv
  • sulfadimetoxin
  • liferenko
  • egert
  • iurii_teslia_yolo
  • kino-was-here
  • pavtom
  • supercede
  • phgrey
  • jyotigautam108
  • mario.granada
  • macpawlak
  • pkgodara
  • divijjain
  • yana_kotenko
  • oladetounjed
  • verrev
  • jbrainz
  • lipsa16
  • ilyaco
  • ffcabbar
  • chaubeyashutosh
  • fly49
  • hassan-yolo
  • kekekeke
  • swathi.harwalkar
  • mmaevali
  • stlisa
  • rodrigocani
  • war1and
  • roman.devtailor
  • asphiii
  • iamdnch
  • klemens9
  • helenarebane
  • snsemenova
  • dr.champ
  • akhrabrov
  • undefhero
  • anastassia-shcherbina-dataart
  • margusp2heathmont
  • lestella
  • sleekyom
  • giornogi0vanna
  • min_max
  • iuzhakov
  • mrvallon
  • bartkarp
  • andero
  • neemeeller
  • anderson.amorim
  • bsk-dataart
  • jsoots
  • hm_robot
  • dimo89
  • hypno
  • kriips
  • twinsmaj
  • segaz2002
  • kasparaasamets
  • mkjell
  • wildstrings
  • n-porsh
  • nemtish
  • mlamp
  • d_kireev
  • karl-kallavus
  • nszatkowski
  • prushin
  • alexalferow
  • anti32
  • vladimir.puz
  • dpshnv
  • yara5000
  • edgarhm
  • roman.danilov
  • yuliana84
  • alekstv
  • ishchepin
  • ulyssesmurja
  • no4ek
  • alexjs_dev
  • olegkivi
  • beygi
  • tidart
  • boyko_ivanov
  • thais_oliveira
  • yolo.svc
  • kirilli-gerasimenko-da
  • musimire
  • mkharsun
  • boris.burenkov.dataart
  • anil.wadghule.esl
  • sergey.suprunenko
  • ayrat555
  • phcurado
  • jthvjn
  • marinakulenkova
  • karlosmid
  • marko.tomberg
  • ioan-badila
  • tsenturk
  • rpihlak
  • therealsmat