@redhat-cloud-services/host-inventory-client
v3.0.2
Published
If you want to use [RedHatInsights/host-inventory](https://github.com/RedHatInsights/host-inventory) you shouldn't use get requests directly, but rather use this client to integrate with this service.
Downloads
1,322
Keywords
Readme
Javascript client for the host-inventory API
If you want to use RedHatInsights/host-inventory you shouldn't use get requests directly, but rather use this client to integrate with this service.
Install
NPM
npm install --save @redhat-cloud-services/host-inventory-client
Or Yarn
yarn add @redhat-cloud-services/host-inventory-client
Usage
This client is using typescript and axios. Types are distributed with this package, so no need to define or install them separately.
This package comes with a client in its api.ts
already defined with every call available.
`import host-inventoryClient from '@redhat-cloud-services/javascript-clients-shared/utils';
host-inventoryClient.someEndpoint();
To bootstrap this API manually, you should create your own client via the APIFactory
defined in the @redhat-cloud-services/javascript-clients-shared
package. See below for an example:
import APIFactory from '@redhat-cloud-services/javascript-clients-shared/utils';
import exampleEndpoint from '@redhat-cloud-services/host-inventory-client/ExampleEndpoint';
// BASE_PATH should be set in your constants file
const hostInventoryApi = APIFactory(BASE_PATH, undefined, { exampleEndpoint });
export hostInventoryApi;
If you want to add some interceptors you can use axios build in interceptors
import axios from 'axios';
import APIFactory from '@redhat-cloud-services/javascript-clients-shared/utils';
import exampleEndpoint from '@redhat-cloud-services/host-inventory-client/ExampleEndpoint';
const instance = axios.create();
// Request interceptor
instance.interceptors.request.use((request) => {
// some logic to do with request
});
// Response interceptor
instance.interceptors.response.use((response) => {
// some logic to do with request
});
// Error interceptor
instance.interceptors.response.use(null, (error) => {
// some logic to do with error
});
// BASE_PATH should be set in your constants file
const hostInventoryApi = APIFactory(BASE_PATH, instance, { exampleEndpoint });
export hostInventoryApi;
Generating
Ensure you have the javascript-clients generator built first with npm run build:generator
. Then, run nx run @redhat-cloud-services/host-inventory-client:generate
to generate the package.
Building
Run nx run @redhat-cloud-services/host-inventory-client:build
to build the package. This creates the dist
for publishing.
Running unit tests
Run nx run @redhat-cloud-services/host-inventory-client:test
to execute the unit tests via Jest.