UNPKG

workspace-integrations

Version:
40 lines (39 loc) 1.57 kB
/** * All http calls for communicating with Webex (device) cloud */ import { DataObject, Http } from './types'; type Interceptor = (url: string, options: DataObject) => any; interface Config { path: string; value: string | number | boolean; } interface StringObject { [name: string]: string | number; } export interface OAuthDetails { clientId: string; clientSecret: string; oauthUrl: string; refreshToken: string; } declare class HttpImpl implements Http { baseUrl: string; accessToken: string; constructor(baseUrl: string, accessToken: string); static setDryMode(handler: Interceptor): void; webexApi(partialUrl: string, method?: string, body?: any, contentType?: string): Promise<any>; setAccessToken(token: string): void; fullUrl(partialUrl: string): string; ping(appUrl: string): Promise<any>; static createAccessToken(oauth: OAuthDetails): Promise<any>; static initIntegration: (data: DataObject) => Promise<any>; get(partialUrl: string): Promise<any>; pollDeviceData: (url: string) => Promise<any>; xCommand: (deviceId: string, command: string, args?: StringObject, multiline?: string) => Promise<any>; xStatus: (deviceId: string, path: string) => Promise<any>; xConfig: (deviceId: string, path: string) => Promise<any>; xConfigSet: (deviceId: string, configs: Config[]) => Promise<any>; getWorkspace: (accessToken: string, workspaceId: string) => Promise<any>; deviceDetails: (accessToken: string, deviceId: string) => Promise<any>; } export default HttpImpl;