@apihawk/billia-sdk v0.0.60
Billia SDK
Node.js SDK for easy interaction with the Billia REST API. The code is written in TypeScript and provides typings for all methods and data objects.
Installation
npm i @apihawk/billia-sdkRequires Node.js version 10.0.0+
Usage
Import the BilliaSDK constructor and create a new instance:
import { BilliaSDK } from '@apihawk/billia-sdk';
const billia = new BilliaSDK({
apiUrl: '<BILLIA API URL>',
clientId: '<YOUR CLIENT ID>',
clientSecret: '<YOUR CLIENT SECRET>'
});
const session = await billia.Authentication.authenticate(
'john.doe@example.com',
'my_password_123'
);
const orders = await billia.Orders.getOrders(session, {
page: 1,
page_size: 10
});
console.log(orders.items);You can also use the SDK on the client (Angular/React/Vue etc.) to import Billia specific application data object types (interfaces) without including the actual implementation code. All types and interfaces are prefixed with I and are in the /lib/types namespace.
import { ICatalogProduct } from '@apihawk/billia-sdk/lib/types';
function showProductName(product: ICatalogProduct) {
console.log(`${product.name} (${product.module})`);
}Contributing
Linking
- Go to the root of the project and run
npm link. - Go to the root of the project importing this module and run
npm link @apihawk/billia-sdk.
Build
You must compile the TypeScript source code into JavaScript. You can do this by running: npm run build.
Test
Before you start the tests, make sure your code passes the linting rules set by TSLint:
npm run lintYou can execute the integration tests by running:
npm testThis will start the Jest test runner and each module will get tested in parallel.
It's important to always run the test suite before you contribute to this project and add tests for new features you implement. The tests are located in the src/__tests__ folder, the JSON API mocks are in the src/__mocksData__ while src/__mocks__ contains JS mock objects.
Hooks
There are pre-commit hooks which will:
- run the linter (TSLint)
- run the tests (Jest)
- run the code formatter on the staged files (Prettier)
If one of these fails, your changes won't be commited. You have to fix the errors and fix your code until the pre-commit hooks pass.
If for some reason the hooks do not work for you, please run npm rebuild. This will re-initialize the Husky hooks.
Release (for project maintainers only)
Using GitLab's CI:
git checkout productiongit pull origin productionnpm version patch(orminor/major)git push origin production --tags
Manual (not recommended)
npm version patch(orminor/major)npm publish --access public
3 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago