redash-js-client
v0.2.7
Published
[![Version](https://img.shields.io/npm/v/redash-js-client.svg)](https://npmjs.org/package/redash-js-client) [![Downloads/week](https://img.shields.io/npm/dw/redash-js-client.svg)](https://npmjs.org/package/redash-js-client) [![License](https://img.shields
Downloads
35
Readme
Redash.io javascript client
A javascript client for redash API.
Table of Contents
Installation
npm install redash-js-client
or
yarn add redash-js-client
Usage
Client initialization
import {redashClient} from 'redash-js-client'
const client = redashClient({
host: 'https://custom.redash.host.com',
token: 'my-user-token'
});
Sub Clients
All clients expect the same shape of configuration.
query
Query object APIdashboard
Dashboard object API
You can access sub clients through redashClient
.
const client = redashClient({token: 'my-user-token'});
client.query.getMany().then(console.log)
or instantiate them independently
import {queryClient} from 'redash-js-client'
const client = queryClient({token: 'my-user-token'});
client.getMany().then(console.log)
Query Client
import {queryClient} from 'redash-js-client'
const client = queryClient({token: 'my-user-token'});
Methods
getOne
Fetch a single query object, returns a redash Result object,
const query = await client.getOne({id: 'query-id'})
getMany
Fetch a list of query objects, returns a RedashCollectionResult object.
const queryCollection = await client.getMany({
page: 1,
page_size: 10,
q: 'reports'
})
getJob
Get current job status
const job = await client.getJob({id: 'job-id'})
getCachedResult
Get current job status
const result = await client.getCachedResult({id: 'query-id'})
getUpdatedResult
Updates query and returns new result.
const result = await client.getUpdatedResult({id: 'query-id', max_age: 60})
Saves image to disk for given query/visualization
const query = await client.getSnapshot({
queryId: 'query-id',
visualizationId: 'visualization-id',
path: 'some/local/directory/path'
})
Dashboard Client
Methods
getOne
getMany
getFavorites
Typescript
This project is completely written in typescript. All functions and objects are fully typed.