UNPKG

tradly

Version:

Tradly JS SDK

104 lines (94 loc) 2.47 kB
"use strict"; import { to } from "await-to-js"; import axios from "axios"; import { APPCONSTANT } from "../Constants/AppConstant.js"; import { REFRESH } from "../Constants/PathConstant.js"; import Environment, { ImageConfig } from "../Helper/APIParam.js"; export const Method = { GET: "GET", DELETE: "DELETE", POST: "POST", PUT: "PUT", PATCH: "PATCH", }; export var TradlyConfig = { path: "", method: Method, param: "", authKey: "", refreshKey: "", currency: "", language: "", barrow_access_key: "", }; class NetworkManager { networkCall = async (config = TradlyConfig) => { var BaseURL = Environment(APPCONSTANT.ENVIRONMENT); var url = BaseURL + config.path; var header = { Accept: "application/json", "Content-Type": "application/json", "X-TRADLY-AGENT": 3, }; header["Authorization"] = "Bearer " + APPCONSTANT.TOKEN; if ( config.authKey !== null && config.authKey !== undefined && config.authKey?.length > 0 ) { header["x-auth-key"] = config.authKey; } if (config.currency != undefined || config.currency == "") { header["x-currency"] = config.currency; } if (config.refreshKey != undefined || config.refreshKey == "") { header["X-Refresh-Key"] = config.refreshKey; } if (config.language != undefined || config.language == "") { header["X-Language"] = config.language; } if ( config?.barrow_access_key != undefined && config?.barrow_access_key !== "" ) { header["barrow_access_key"] = config?.barrow_access_key; } if (Object.keys(APPCONSTANT.CUSTOM_HEADER).length > 0) { Object.keys(APPCONSTANT.CUSTOM_HEADER).forEach((key) => { header[key] = APPCONSTANT.CUSTOM_HEADER[key]; }); } const [err, response] = await to( axios({ url: url, method: config.method, responseType: "json", headers: header, data: config.param, }) ); if (err) { let errData = err["response"]["data"]; return [errData, undefined]; } else { return [undefined, response["data"]]; } }; uploadImage = async (param = ImageConfig) => { const [err, response] = await to( axios({ url: param.signedUrl, method: "put", headers: { "Content-Type": param.mime }, data: param.blob_body, }) ); if (err) { return false; } else { return true; } }; } const network = new NetworkManager(); export default network;