stubber-stubbucks-functions-pkg

2.0.2 • Public • Published

stubber-stubbucks-functions-pkg

Client to create stubbucks transactions and read account balances

Client

To use the client you need to have valid redis and mongoDB connection params

import stubbucksClient from "stubber-stubbucks-functions-pkg";

const client = await stubbucksClient({
  redis_host: "localhost",
  redis_port: 6379,
  redis_password: "secret_password",
  redis_db: "1",
  mongo_url: "mongodb://user:password@localhost:27017",
  mongo_db: "database",
});

Functions

The client has multiple functions to standardize affecting the accounts

reserveFunds

Use this to ensure there are enough available funds to do transaction

let transactionuuid = await client.reserveFunds({
    orguuid,
    code,
    quantity,
    ttl
})

Params

  • orguuid
  • code (service cost code)
  • quantity (optional - defaults to 1)
  • ttl (optional - seconds to reserve funds for - defaults to 30)

Result

  • Returns a transactionuuid to be used if postFunds or voidFunds

postFunds

Use this to submit a transaction for previously reserved funds

await client.postFunds({
    orguuid,
    transactionuuid,
    code,
    quantity,
    details
})

Params

  • orguuid
  • transactionuuid (see reserveFunds)
  • code (optional - if not passed then will post full reserved amount)
  • quantity (optional - defaults to 1)
  • details (any object that you want to store in the mongoDB document)

Result

  • Returns true if successful

voidFunds

Use this to remove any pending reserved funds

await client.voidFunds({
    orguuid,
    transactionuuid
})

Params

  • orguuid
  • transactionuuid (see reserveFunds)

Result

  • Returns true if successful

topupAccount

Use this to topup a org account

await client.topupAccount({
    orguuid,
    details,
    amount
})

Params

  • orguuid
  • details (any object that you want to store in the mongoDB document)
  • amount (has to be a float)

Result

  • Returns true if successful

getAccountBalances

Use this to get account balances

await client.getAccountBalances({
    orguuid
})

Params

  • orguuid

Result

{
    current_balance,
    available_balance
}

Readme

Keywords

none

Package Sidebar

Install

npm i stubber-stubbucks-functions-pkg

Weekly Downloads

4

Version

2.0.2

License

ISC

Unpacked Size

7.22 kB

Total Files

6

Last publish

Collaborators

  • ivanstubber
  • hansies
  • abrie-stubber
  • vincent_stubber.com