UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

113 lines 3.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.lemlistApiRequest = lemlistApiRequest; exports.lemlistApiRequestAllItems = lemlistApiRequestAllItems; exports.getEvents = getEvents; const change_case_1 = require("change-case"); /** * Make an authenticated API request to Lemlist. */ async function lemlistApiRequest(method, endpoint, body = {}, qs = {}, option = {}) { const options = { headers: {}, method, uri: `https://api.lemlist.com/api${endpoint}`, qs, body, json: true, }; if (!Object.keys(body).length) { delete options.body; } if (!Object.keys(qs).length) { delete options.qs; } if (Object.keys(option)) { Object.assign(options, option); } return await this.helpers.requestWithAuthentication.call(this, 'lemlistApi', options); } /** * Make an authenticated API request to Lemlist and return all results. */ async function lemlistApiRequestAllItems(method, endpoint, qs = {}) { const returnData = []; let responseData; qs.limit = 100; qs.offset = 0; //when using v2, the pagination is different if (qs.version && qs.version === 'v2') { qs.page = 1; do { responseData = await lemlistApiRequest.call(this, method, endpoint, {}, qs); returnData.push(...responseData); qs.page++; } while (responseData.totalPage && qs.page < responseData.totalPage); return returnData; } else { do { responseData = await lemlistApiRequest.call(this, method, endpoint, {}, qs); returnData.push(...responseData); qs.offset += qs.limit; } while (responseData.length !== 0); return returnData; } } function getEvents() { const events = [ '*', 'contacted', 'hooked', 'attracted', 'warmed', 'interested', 'skipped', 'notInterested', 'emailsSent', 'emailsOpened', 'emailsClicked', 'emailsReplied', 'emailsBounced', 'emailsSendFailed', 'emailsFailed', 'emailsUnsubscribed', 'emailsInterested', 'emailsNotInterested', 'opportunitiesDone', 'aircallCreated', 'aircallEnded', 'aircallDone', 'aircallInterested', 'aircallNotInterested', 'apiDone', 'apiInterested', 'apiNotInterested', 'apiFailed', 'linkedinVisitDone', 'linkedinVisitFailed', 'linkedinInviteDone', 'linkedinInviteFailed', 'linkedinInviteAccepted', 'linkedinReplied', 'linkedinSent', 'linkedinVoiceNoteDone', 'linkedinVoiceNoteFailed', 'linkedinInterested', 'linkedinNotInterested', 'linkedinSendFailed', 'manualInterested', 'manualNotInterested', 'paused', 'resumed', 'customDomainErrors', 'connectionIssue', 'sendLimitReached', 'lemwarmPaused', ]; return events.map((event) => ({ name: event === '*' ? '*' : (0, change_case_1.capitalCase)(event).replace('Linkedin', 'LinkedIn'), value: event, })); } //# sourceMappingURL=GenericFunctions.js.map