n8n-nodes-axonaut-antislash
Version:
n8n community node for Axonaut API integration
57 lines • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.axonautApiRequest = axonautApiRequest;
exports.axonautApiRequestAllItems = axonautApiRequestAllItems;
const n8n_workflow_1 = require("n8n-workflow");
/**
* Make an API request to Axonaut
*/
async function axonautApiRequest(method, endpoint, body = {}, query = {}) {
const credentials = await this.getCredentials('axonautApi');
const options = {
headers: {
'userApiKey': credentials.apiKey,
'Content-Type': 'application/json',
'Accept': 'application/json',
},
method,
body,
qs: query,
url: `${credentials.baseUrl}${endpoint}`,
json: true,
};
if (Object.keys(body).length === 0) {
delete options.body;
}
try {
return await this.helpers.request(options);
}
catch (error) {
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
}
}
/**
* Make an API request to Axonaut and return all results
* by paginating through all pages
*/
async function axonautApiRequestAllItems(method, endpoint, body = {}, query = {}) {
const returnData = [];
let responseData;
query.page = 1;
query.per_page = query.limit || 100;
do {
responseData = await axonautApiRequest.call(this, method, endpoint, body, query);
if (Array.isArray(responseData)) {
returnData.push.apply(returnData, responseData);
}
else if (responseData.data && Array.isArray(responseData.data)) {
returnData.push.apply(returnData, responseData.data);
}
else {
returnData.push(responseData);
}
query.page++;
} while (responseData && responseData.length !== 0 && responseData.length === query.per_page);
return returnData;
}
//# sourceMappingURL=GenericFunctions.js.map