UNPKG

onoffice

Version:

OnOffice typescript api client and sdk

48 lines (45 loc) 1.3 kB
import { IAction, IActionParams, IActionId, IOFAPIResponse } from "../types"; import BaseOnOfficeAPIClient from "./BaseOnOfficeAPIClient"; import axios from "axios"; export default class ProxyOnOfficeAPIClient extends BaseOnOfficeAPIClient { proxyBaseURL: string; jwt: string; constructor(proxyBaseURL: string, jwt: string) { super(); this.proxyBaseURL = proxyBaseURL; this.jwt = jwt; } protected fetchAction<TRecord>( actionId: IActionId, resourceType: string, indentifier: string, resourceId: string, parameters: IActionParams ) { return new Promise<IOFAPIResponse<TRecord>>(async (resolve, reject) => { try { const response = await axios.post(this.proxyBaseURL + "/onoffice/proxy/", { actionid: actionId, indentifier, parameters, resourceid: resourceId, resourcetype: resourceType, } as IAction, { headers: { "Authorization": `JWT ${this.jwt}` } } ); if(response.status != 200) { return reject('API call failed with status: ' + response.status); } resolve(response.data); } catch(err) { return reject(err); } }); } }