5.208.0 • Published 12 months ago

btrz-api-client v5.208.0

Weekly downloads
247
License
MIT
Repository
github
Last release
12 months ago

For every new endpoint

  • This 4 methods should always be called the same
  function all({ token, query, [jwtToken] }): Returns all resources
  function get({ token, id.[jwtToken] }): Returns one resource
  function create({jwtToken, token, resource }): Creates a new resource
  function update({jwtToken, token, id, resource}): Updates a resource with the given id
  function remove({jwtToken token, id }): Remove the resource

jwtToken Is only required in certain endpoints, check the endpoint documentation.

How to use it

  • Using defaults
const api = require("btrz-api-client").createApiClient({ baseURL: `http://localhost:${port}` });
api.inventory.products.all({ token, query }) => Promise
  • You can still perform custom requests
const api = require("btrz-api-client").createApiClient({ baseURL: 'http://localhost:8080', });
api._cleanClient({ url: `/inventory/products`, headers: { 'x-api-key': token }, params: { isParcel: true } }) => Promise
  • Ready for production

This client uses production defaults if none provided, check /src/productionDefaults.js

const api = require("btrz-api-client").createApiClient();
api.inventory.products.all({ token, query }) //you're now talking to production!

Performing internal service-to-service calls

Provide an object that generates internal auth tokens when you create the API Client:

const InternalAuthTokenProvider = require("btrz-auth-api-key").InternalAuthTokenProvider,
    tokenProviderOptions = {
        internalAuthTokenSigningSecrets: {
            main: "<some_secret_signing_key>"
        }
    },
    internalAuthTokenProvider = new InternalAuthTokenProvider(tokenProviderOptions),
    ApiClient = require("btrz-api-client"),
    apiClient = ApiClient.createApiClient({
        internalAuthTokenProvider,
        // ... plus any other options
    });

Then, to perform a service-to-service call with an auto-generated token:

const apiRequest = apiClient.operations.manifest.getOrCreate({
    token: <user_api_key>,
    jwtToken: "internal_auth_token",   // Use this exact string
    query: {
        ...
    }
});

Unit Test

npm test

Test integration

API_TOKEN=<some token> npm run test:integration

You can specify the different ports for every endpoint using /test-integration/ports.js

Folders structure

- src
  - enpoints
    - inventory
      - products.js
- test
  - endpoints
    - inventory
      - products.test.js

- test-integration
  - endpoints
    - inventory
      - products.test.js

Push a new version

Run

npm version [major || minor || patch]

This will increment the version number according to your selection (major, minor or patch) and push a new TAG. There's no need to release a new version in the github UI.

5.207.0

12 months ago

5.208.0

12 months ago

5.204.0

1 year ago

5.205.0

1 year ago

5.206.0

1 year ago

5.201.0

1 year ago

5.202.0

1 year ago

5.203.0

1 year ago

5.200.0

1 year ago

5.199.0

1 year ago

5.198.0

1 year ago

5.197.0

1 year ago

5.196.0

1 year ago

5.195.0

1 year ago

5.194.0

1 year ago

5.193.0

1 year ago

5.189.0

1 year ago

5.192.0

1 year ago

5.191.0

1 year ago

5.190.0

1 year ago

5.188.0

1 year ago

5.187.0

1 year ago

5.186.0

1 year ago

5.185.1

1 year ago

5.185.0

1 year ago

5.184.0

1 year ago

5.183.0

1 year ago

5.182.0

1 year ago

5.181.0

1 year ago

5.180.0

1 year ago

5.179.0

1 year ago

5.178.0

1 year ago

5.177.0

1 year ago

5.176.0

1 year ago

5.175.0

1 year ago

5.174.0

1 year ago

5.173.0

1 year ago

5.172.0

1 year ago

5.170.0

2 years ago

5.169.0

2 years ago

5.168.0

2 years ago

5.171.0

1 year ago

5.166.0

2 years ago

5.167.0

2 years ago

5.165.0

2 years ago

5.164.1

2 years ago

5.164.0

2 years ago

5.163.0

2 years ago

5.162.0

2 years ago

5.159.0

2 years ago

5.161.0

2 years ago

5.160.0

2 years ago

5.158.0

2 years ago

5.157.0

2 years ago

5.156.0

2 years ago

5.155.0

2 years ago

5.154.0

2 years ago

5.153.0

2 years ago

5.152.0

2 years ago

5.151.0

2 years ago

5.149.0

2 years ago

5.150.0

2 years ago

5.148.0

2 years ago

5.147.0

2 years ago

5.146.0

2 years ago

5.145.0

2 years ago

5.144.0

2 years ago

5.143.0

2 years ago

5.142.0

2 years ago

5.141.0

2 years ago

5.139.0

2 years ago

5.140.0

2 years ago

5.138.0

2 years ago

5.137.0

2 years ago

5.136.0

2 years ago

5.135.0

2 years ago

5.134.0

2 years ago

5.133.0

2 years ago

5.132.0

2 years ago

5.129.0

2 years ago

5.106.0

3 years ago

5.99.0

3 years ago

5.117.0

2 years ago

5.105.0

3 years ago

5.120.0

2 years ago

5.128.0

2 years ago

5.116.0

2 years ago

5.131.0

2 years ago

5.127.0

2 years ago

5.104.0

3 years ago

5.115.0

2 years ago

5.130.0

2 years ago

5.103.0

3 years ago

5.126.0

2 years ago

5.114.0

2 years ago

5.125.0

2 years ago

5.102.0

3 years ago

5.113.0

2 years ago

5.101.0

3 years ago

5.109.0

3 years ago

5.112.0

3 years ago

5.123.0

2 years ago

5.100.0

3 years ago

5.108.0

3 years ago

5.111.0

3 years ago

5.119.0

2 years ago

5.122.0

2 years ago

5.107.0

3 years ago

5.110.0

3 years ago

5.118.0

2 years ago

5.121.0

2 years ago

5.98.0

3 years ago

5.97.0

3 years ago

5.95.0

3 years ago

5.96.0

3 years ago

5.94.1

3 years ago

5.91.0

3 years ago

5.88.0

3 years ago

5.92.0

3 years ago

5.89.0

3 years ago

5.93.0

3 years ago

5.86.0

3 years ago

5.94.0

3 years ago

5.90.0

3 years ago

5.87.0

3 years ago

5.84.0

3 years ago

5.85.0

3 years ago

5.81.0

3 years ago

5.82.0

3 years ago

5.83.0

3 years ago

5.80.0

3 years ago

5.76.0

3 years ago

5.72.0

3 years ago

5.77.1

3 years ago

5.77.0

3 years ago

5.73.0

3 years ago

5.78.0

3 years ago

5.74.0

3 years ago

5.79.0

3 years ago

5.75.0

3 years ago

5.71.0

3 years ago

5.69.0

3 years ago

5.70.0

3 years ago

5.57.0

3 years ago

5.53.2

3 years ago

5.65.0

3 years ago

5.61.0

3 years ago

5.58.0

3 years ago

5.54.0

3 years ago

5.66.0

3 years ago

5.62.0

3 years ago

5.59.0

3 years ago

5.55.0

3 years ago

5.67.0

3 years ago

5.63.0

3 years ago

5.56.0

3 years ago

5.68.0

3 years ago

5.64.0

3 years ago

5.60.0

3 years ago

5.53.1

3 years ago

5.53.0

3 years ago

5.46.0

3 years ago

5.42.0

3 years ago

5.50.0

3 years ago

5.47.0

3 years ago

5.43.0

3 years ago

5.51.0

3 years ago

5.48.0

3 years ago

5.44.0

3 years ago

5.49.0

3 years ago

5.52.0

3 years ago

5.45.0

3 years ago

5.39.0

4 years ago

5.40.0

4 years ago

5.41.0

3 years ago

5.27.0

4 years ago

5.34.0

4 years ago

5.30.0

4 years ago

5.28.0

4 years ago

5.35.0

4 years ago

5.31.0

4 years ago

5.24.0

4 years ago

5.29.0

4 years ago

5.36.0

4 years ago

5.32.0

4 years ago

5.25.0

4 years ago

5.37.0

4 years ago

5.33.0

4 years ago

5.38.0

4 years ago

5.26.0

4 years ago

5.23.0

4 years ago

5.20.1

4 years ago

5.20.0

4 years ago

5.21.0

4 years ago

5.19.0

4 years ago

5.22.0

4 years ago

5.17.0

4 years ago

5.18.0

4 years ago

5.15.0

4 years ago

5.13.0

4 years ago

5.16.0

4 years ago

5.14.0

4 years ago

5.12.0

4 years ago

5.5.0

4 years ago

3.41.0

4 years ago

5.3.0

4 years ago

3.43.0

4 years ago

5.1.0

4 years ago

3.45.0

4 years ago

5.11.0

4 years ago

3.36.0

4 years ago

4.4.0

4 years ago

4.6.0

4 years ago

4.0.0

4 years ago

4.2.0

4 years ago

3.47.0

4 years ago

5.8.0

4 years ago

5.6.0

4 years ago

5.4.0

4 years ago

3.40.1

4 years ago

3.42.0

4 years ago

5.2.0

4 years ago

3.42.1

4 years ago

3.44.0

4 years ago

5.0.0

4 years ago

3.42.3

4 years ago

3.46.0

4 years ago

5.10.0

4 years ago

4.5.0

4 years ago

4.7.0

4 years ago

4.1.0

4 years ago

4.3.0

4 years ago

4.1.1

4 years ago

3.48.0

4 years ago

5.9.0

4 years ago

5.7.0

4 years ago

3.31.0

4 years ago

3.33.0

4 years ago

3.35.0

4 years ago

3.30.0

4 years ago

3.32.0

4 years ago

3.34.0

4 years ago

3.26.0

4 years ago

3.28.0

4 years ago

3.25.0

4 years ago

3.27.0

4 years ago

3.29.0

4 years ago

3.24.0

4 years ago

3.23.2

4 years ago

3.22.0

4 years ago

3.21.0

4 years ago

3.19.0

5 years ago

3.18.0

5 years ago

3.17.1

5 years ago

3.16.0

5 years ago

3.15.0

5 years ago

3.14.0

5 years ago

3.13.1

5 years ago

3.13.0

5 years ago

3.12.0

5 years ago

3.11.0

5 years ago

3.10.0

5 years ago

3.9.0

5 years ago

3.8.0

5 years ago

3.7.0

5 years ago

3.6.0

5 years ago

3.5.0

5 years ago

3.4.0

5 years ago

3.3.0

5 years ago

3.2.0

5 years ago

3.1.0

5 years ago

3.0.0

5 years ago

2.6.0

5 years ago

2.5.0

5 years ago

2.4.0

5 years ago

2.3.0

5 years ago

2.2.2

5 years ago

2.2.1

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.47.0

5 years ago

1.46.0

5 years ago

1.45.0

5 years ago

1.44.0

5 years ago

1.43.0

5 years ago

1.42.0

5 years ago

1.41.0

5 years ago

1.40.0

5 years ago

1.37.0

5 years ago

1.38.0

5 years ago

1.39.0

5 years ago

1.36.0

5 years ago