UNPKG

n8n-walichat

Version:

n8n plugin for WaliChat

63 lines (62 loc) 2.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseNode = void 0; const axios_1 = __importDefault(require("axios")); const methods_1 = require("../methods"); class BaseNode { constructor() { this.baseUrl = 'https://api.wali.chat/v1'; this.methods = { loadOptions: { getFiles: methods_1.getFiles, getDevices: methods_1.getDevices, getGroups: methods_1.getGroups }, }; } async request(params) { var _a; const { method = 'POST', body, query, path, headers } = params; const config = { method, url: `${this.baseUrl}${path}`, headers: { 'Content-Type': 'application/json', ...headers, }, data: body, params: query, }; try { const response = await (0, axios_1.default)(config); return response.data; } catch (error) { let errorMessage = 'Unknown error'; if (axios_1.default.isAxiosError(error)) { if ((_a = error.response) === null || _a === void 0 ? void 0 : _a.data) { // Include status code and error data for better debugging: errorMessage = `HTTP Error ${error.response.status}: ${JSON.stringify(error.response.data)}`; } else if (error.request) { errorMessage = 'No response received from the API.'; } else { errorMessage = error.message; } } else { errorMessage = error.message; } throw new Error(errorMessage); } } async execute(node) { // This method should be overridden by the inheriting class throw new Error('Execute method not implemented'); } } exports.BaseNode = BaseNode;