@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.

/@heathmont/ih-ngiw/

    Package Sidebar

    Install

    npm i @heathmont/ih-ngiw

    Weekly Downloads

    5

    Version

    1.0.2

    License

    ISC

    Unpacked Size

    27.4 kB

    Total Files

    5

    Last publish

    Collaborators

    • alexandrubagu
    • 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
    • ayrat555
    • phcurado
    • jthvjn
    • marinakulenkova
    • karlosmid
    • marko.tomberg
    • ioan-badila
    • tsenturk
    • rpihlak
    • therealsmat