UNPKG

@digitalstories/n8n-nodes-infomaniak

Version:

n8n nodes to interact with Infomaniak services (Kchat)

52 lines 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ApiService = void 0; const n8n_workflow_1 = require("n8n-workflow"); class ApiService { constructor(executeFunctions, credentials) { this.executeFunctions = executeFunctions; this.credentials = credentials; } async request(method, endpoint, body, query, formData, headers) { const options = { method, url: `${this.getBaseUrl()}${endpoint}`, json: true, }; if (body) options.body = body; if (query) options.qs = query; if (formData) options.formData = formData; if (headers) options.headers = headers; try { return await this.executeFunctions.helpers.requestWithAuthentication.call(this.executeFunctions, 'infomaniakApi', options); } catch (error) { this.handleApiError(error); } } handleApiError(error) { const statusCode = error.statusCode || 'inconnu'; let message = error.message || 'Une erreur est survenue'; if (error.response && error.response.body) { try { const errorBody = typeof error.response.body === 'string' ? JSON.parse(error.response.body) : error.response.body; if (errorBody.message) { message = `${message}: ${errorBody.message}`; } } catch (e) { } } throw new n8n_workflow_1.NodeOperationError(null, `Erreur API ${this.serviceName} (${statusCode}): ${message}`); } log(message, data) { } } exports.ApiService = ApiService; //# sourceMappingURL=ApiService.js.map