UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

70 lines 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pagerDutyApiRequest = pagerDutyApiRequest; exports.pagerDutyApiRequestAllItems = pagerDutyApiRequestAllItems; exports.keysToSnakeCase = keysToSnakeCase; const change_case_1 = require("change-case"); const n8n_workflow_1 = require("n8n-workflow"); async function pagerDutyApiRequest(method, resource, body = {}, query = {}, uri, headers = {}) { const authenticationMethod = this.getNodeParameter('authentication', 0); const options = { headers: { Accept: 'application/vnd.pagerduty+json;version=2', }, method, body, qs: query, uri: uri || `https://api.pagerduty.com${resource}`, json: true, qsStringifyOptions: { arrayFormat: 'brackets', }, }; if (!Object.keys(body).length) { delete options.form; } if (!Object.keys(query).length) { delete options.qs; } options.headers = Object.assign({}, options.headers, headers); try { if (authenticationMethod === 'apiToken') { const credentials = await this.getCredentials('pagerDutyApi'); options.headers.Authorization = `Token token=${credentials.apiToken}`; return await this.helpers.request(options); } else { return await this.helpers.requestOAuth2.call(this, 'pagerDutyOAuth2Api', options); } } catch (error) { throw new n8n_workflow_1.NodeApiError(this.getNode(), error); } } async function pagerDutyApiRequestAllItems(propertyName, method, endpoint, body = {}, query = {}) { const returnData = []; let responseData; query.limit = 100; query.offset = 0; do { responseData = await pagerDutyApiRequest.call(this, method, endpoint, body, query); query.offset++; returnData.push.apply(returnData, responseData[propertyName]); } while (responseData.more); return returnData; } function keysToSnakeCase(elements) { if (!Array.isArray(elements)) { elements = [elements]; } for (const element of elements) { for (const key of Object.keys(element)) { if (key !== (0, change_case_1.snakeCase)(key)) { element[(0, change_case_1.snakeCase)(key)] = element[key]; delete element[key]; } } } return elements; } //# sourceMappingURL=GenericFunctions.js.map