UNPKG

mnubo-sdk

Version:
50 lines (38 loc) 1.19 kB
import { Client } from '../mnubo'; import { authenticate } from '../decorators'; import { encodeObjectForUrlParams } from '../utils/underscore'; export interface EventsSendOptions { reportResults?: boolean; objectsMustExist?: boolean; } export class Events { private path: string; constructor(private client: Client) { this.path = '/api/v3/events'; } @authenticate send(payload: any, options?: EventsSendOptions): Promise<any> { let path = this.path; if (options) { path += `?${encodeObjectForUrlParams(options)}`; } return this.client.post(`${path}`, payload); } @authenticate sendFromDevice(deviceId: string, payload: any, options?: EventsSendOptions): Promise<any> { let path = `/api/v3/objects/${deviceId}/events`; if (options) { path += `?${encodeObjectForUrlParams(options)}`; } return this.client.post(path, payload); } @authenticate exists(eventIds: Array<string> | string): Promise<any> { const path = `${this.path}/exists`; if (Array.isArray(eventIds)) { return this.client.post(`${path}`, eventIds); } else { return this.client.get(`${path}/${eventIds}`); } } }