Obelisk Client
A client library written in Typescript to interact with Obelisk.
Prerequisites
This library makes use of RxJS (Reactive Extensions for JavaScript).
RxJS comes as a peer dependency.
Overview
** This client library only works for web applications that connect on behalf of users. It is meant for the browser, so node-js servers cannot use this. (For those use cases, please refer to the HTTP ReST API documented on Obelisk)**
The client helps to make authorized calls to the API. With the client you create Endpoints. These endpoints can be acted on with methods like execute()
or get()
. An endpoint takes an API uri as argument. This means that the HTTP REST api is as important to you, as this API.
Installation
npm install @obelisk/client rxjs --save
Usage
To start you need to create an ObeliskClient instance with a proper options object.
import { ClientOptions, ObeliskClient } from '@obelisk/client';
const options: ClientOptions = {
host: 'https://obelisk.ilabt.imec.be',
apiVersion: 'v1',
realm: 'idlab-iot',
clientId: 'my-client'
}
let client = new ObeliskClient(options);
Now init the client to connect to the Obelisk back-end and start using it. init() returns an Observable that completes once initialization is over.
this.client.init().subscribe({
next: _ => {
}
})
If you are logged in it will handle all the tokens in the headers for you.
Angular
There is an optional angular package to use in conjunction with the client packages. More information can be found at @obelisk/ngx.
Client API
The generated @obelisk/client api can be found here