1.0.0 • Published 6 years ago

99voices_npm_recordings_client v1.0.0

Weekly downloads
15
License
MIT
Repository
github
Last release
6 years ago

Recordings Client

This package contains a client for the recordings service. It is build on, and defacto returns an instance of swagger-js. For an in depth Overview of the api of the object returned by this package, see the documentation of swagger-js.

Development

This package is developed within a docker container. Run scripts/run.sh to obtain the development environment. Run every yarn operation through the container like docker exec -it ${container_id} yarn .... The container watches for file changes on the sources and automatically rebuilds the distribution code. Before running yarn publish be sure to run yarn login.

Usage

This package contains and returns a singleton. Meaning that you can require the file wherever you want to, and you will always obtain the same client instance. In order for this to work it is vital that the client instance is first initialized. This is an asynchronous process and done like this:

import Config from '99voices_npm_config';
import Client from '99voices_npm_recordings_client';

let config = Config();
const token = "x.y.z"; // should be obtained via the 99voices_npm_authentication_client -> login

console.log(config.get('RECORDINGS_CLIENT_SPEC_URL')) // 'http://tyk:8080/recordings/1.0.0/spec.yaml' => the url the client should fetch the spec from and will be build based on

Client({config,token}).then( client => { ... }).catch( err => { ... })

Initialization

This package uses the constructor of swagger-js. The constructor Client({config, token, options, purge}) passes the options on to the swagger constructor. See swagger-js for an in depth overview of this object. The purge attribute can be set to true which forces to refetch the spec and rebuild the client, even if there is one already. After the client is initialized, this package will also patch its basePath for direct use. It assumes that when the spec is at 'http://tyk:8080/recordings/1.0.0/spec.yaml', the basePath of the API will be 'http://tyk:8080/recordings/1.0.0/'