UNPKG

n8n-nodes-highlevelv2

Version:

n8n community node for HighLevel v2 API integration - comprehensive CRM, marketing automation, and business management platform

338 lines 13.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HighLevelV2 = void 0; const BlogDescription_1 = require("./description/BlogDescription"); const BusinessDescription_1 = require("./description/BusinessDescription"); const CalendarDescription_1 = require("./description/CalendarDescription"); const CalendarEventDescription_1 = require("./description/CalendarEventDescription"); const CalendarGroupDescription_1 = require("./description/CalendarGroupDescription"); const ContactDescription_1 = require("./description/ContactDescription"); const ConversationDescription_1 = require("./description/ConversationDescription"); const CouponDescription_1 = require("./description/CouponDescription"); const CustomFieldDescription_1 = require("./description/CustomFieldDescription"); const CustomObjectsDescription_1 = require("./description/CustomObjectsDescription"); const CustomValuesDescription_1 = require("./description/CustomValuesDescription"); const ObjectAssociationsDescription_1 = require("./description/ObjectAssociationsDescription"); const ProductDescription_1 = require("./description/ProductDescription"); const EmailDescription_1 = require("./description/EmailDescription"); const FormDescription_1 = require("./description/FormDescription"); const FunnelDescription_1 = require("./description/FunnelDescription"); const MediaDescription_1 = require("./description/MediaDescription"); const NotesDescription_1 = require("./description/NotesDescription"); const AppointmentNotesDescription_1 = require("./description/AppointmentNotesDescription"); const CalendarResourceDescription_1 = require("./description/CalendarResourceDescription"); const OpportunityDescription_1 = require("./description/OpportunityDescription"); const RedirectDescription_1 = require("./description/RedirectDescription"); const TagsDescription_1 = require("./description/TagsDescription"); const SaaSDescription_1 = require("./description/SaaSDescription"); const SocialPlannerDescription_1 = require("./description/SocialPlannerDescription"); const SubAccountDescription_1 = require("./description/SubAccountDescription"); const SurveyDescription_1 = require("./description/SurveyDescription"); const TaskDescription_1 = require("./description/TaskDescription"); const UserDescription_1 = require("./description/UserDescription"); const AuthDescription_1 = require("./description/AuthDescription"); const GenericFunctions_1 = require("./GenericFunctions"); const resources = [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Auth', value: 'auth', }, { name: 'Blog', value: 'blog', }, { name: 'Business', value: 'business', }, { name: 'Calendar Event', value: 'calendarEvent', }, { name: 'Calendar Group', value: 'calendarGroup', }, { name: 'Calendar Resource', value: 'calendarResource', }, { name: 'Contact', value: 'contact', }, { name: 'Conversation', value: 'conversation', }, { name: 'Coupon', value: 'coupon', }, { name: 'Custom Field', value: 'customField', }, { name: 'Custom Object', value: 'customObjects', }, { name: 'Custom Value', value: 'customValues', }, { name: 'Email', value: 'email', }, { name: 'Form', value: 'form', }, { name: 'Funnel', value: 'funnel', }, { name: 'Media', value: 'media', }, { name: 'Note', value: 'notes', }, { name: 'Appointment Note', value: 'appointmentNotes', }, { name: 'Object Association', value: 'objectAssociations', }, { name: 'Opportunity', value: 'opportunity', }, { name: 'Product', value: 'product', }, { name: 'Redirect', value: 'redirect', }, { name: 'SaaS', value: 'saas', }, { name: 'Task', value: 'task', }, { name: 'Calendar', value: 'calendar', }, { name: 'Social Planner', value: 'socialPlanner', }, { name: 'Sub-Account', value: 'subAccount', }, { name: 'Survey', value: 'survey', }, { name: 'Tag', value: 'tags', }, { name: 'User', value: 'user', }, ], default: 'contact', required: true, }, ]; const versionDescription = { displayName: 'HighLevel v2', name: 'highLevelv2', icon: 'file:highLevel.svg', group: ['transform'], version: 2, description: 'Comprehensive HighLevel v2 API integration for CRM, marketing automation, and business management. Created by Mario Aldayuz. Submit issues at: https://github.com/marioaldayuz/n8n-highlevel/issues', subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', defaults: { name: 'HighLevel v2', }, usableAsTool: true, inputs: ["main"], outputs: ["main"], credentials: [ { name: 'highLevelOAuth2Api', required: true, }, ], requestDefaults: { baseURL: 'https://services.leadconnectorhq.com', headers: { Accept: 'application/json', 'Content-Type': 'application/json', Version: '2021-07-28', }, }, requestOperations: { pagination: GenericFunctions_1.highLevelApiPagination, }, properties: [ ...resources, ...AuthDescription_1.authOperations, ...AuthDescription_1.authFields, ...BlogDescription_1.blogOperations, ...BlogDescription_1.blogFields, ...BusinessDescription_1.businessOperations, ...BusinessDescription_1.businessFields, ...CalendarEventDescription_1.calendarEventOperations, ...CalendarEventDescription_1.calendarEventFields, ...CalendarGroupDescription_1.calendarGroupOperations, ...CalendarGroupDescription_1.calendarGroupFields, ...CalendarResourceDescription_1.calendarResourceOperations, ...CalendarResourceDescription_1.calendarResourceFields, ...ContactDescription_1.contactOperations, ...ContactDescription_1.contactNotes, ...ContactDescription_1.contactFields, ...ConversationDescription_1.conversationOperations, ...ConversationDescription_1.conversationFields, ...CouponDescription_1.couponOperations, ...CouponDescription_1.couponFields, ...CustomFieldDescription_1.customFieldOperations, ...CustomFieldDescription_1.customFieldFields, ...CustomObjectsDescription_1.customObjectsOperations, ...CustomObjectsDescription_1.customObjectsFields, ...CustomValuesDescription_1.customValuesOperations, ...CustomValuesDescription_1.customValuesFields, ...EmailDescription_1.emailOperations, ...EmailDescription_1.emailFields, ...FormDescription_1.formOperations, ...FormDescription_1.formFields, ...FunnelDescription_1.funnelOperations, ...FunnelDescription_1.funnelFields, ...MediaDescription_1.mediaOperations, ...MediaDescription_1.mediaFields, ...NotesDescription_1.notesOperations, ...NotesDescription_1.notesFields, ...AppointmentNotesDescription_1.appointmentNotesOperations, ...AppointmentNotesDescription_1.appointmentNotesFields, ...ObjectAssociationsDescription_1.objectAssociationsOperations, ...ObjectAssociationsDescription_1.objectAssociationsFields, ...OpportunityDescription_1.opportunityOperations, ...OpportunityDescription_1.opportunityFields, ...ProductDescription_1.productOperations, ...ProductDescription_1.productFields, ...RedirectDescription_1.redirectOperations, ...RedirectDescription_1.redirectFields, ...SaaSDescription_1.saasOperations, ...SaaSDescription_1.saasFields, ...TaskDescription_1.taskOperations, ...TaskDescription_1.taskFields, ...CalendarDescription_1.calendarOperations, ...CalendarDescription_1.calendarFields, ...SocialPlannerDescription_1.socialPlannerOperations, ...SocialPlannerDescription_1.socialPlannerFields, ...SubAccountDescription_1.subAccountOperations, ...SubAccountDescription_1.subAccountFields, ...SurveyDescription_1.surveyOperations, ...SurveyDescription_1.surveyFields, ...TagsDescription_1.tagsOperations, ...TagsDescription_1.tagsFields, ...UserDescription_1.userOperations, ...UserDescription_1.userFields, ], }; class HighLevelV2 { constructor(baseDescription) { this.methods = { loadOptions: { getPipelines: GenericFunctions_1.getPipelines, getContacts: GenericFunctions_1.getContacts, getPipelineStages: GenericFunctions_1.getPipelineStages, getSocialAccounts: GenericFunctions_1.getSocialAccounts, getSubAccounts: GenericFunctions_1.getSubAccounts, getUsers: GenericFunctions_1.getUsers, }, listSearch: { async searchCustomFields(filter) { var _a, _b; const { locationId } = (_b = (_a = (await this.getCredentials('highLevelOAuth2Api'))) === null || _a === void 0 ? void 0 : _a.oauthTokenData) !== null && _b !== void 0 ? _b : {}; const responseData = (await this.helpers.httpRequestWithAuthentication.call(this, 'highLevelOAuth2Api', { url: `https://services.leadconnectorhq.com/locations/${locationId}/customFields?model=contact`, headers: { Accept: 'application/json', 'Content-Type': 'application/json', Version: '2021-07-28', }, })); const customFields = responseData.customFields; const results = customFields .map((a) => ({ name: a.name, value: a.id, })) .filter((a) => !filter || a.name.toLowerCase().includes(filter.toLowerCase())) .sort((a, b) => { if (a.name.toLowerCase() < b.name.toLowerCase()) return -1; if (a.name.toLowerCase() > b.name.toLowerCase()) return 1; return 0; }); return { results }; }, async searchTimezones(filter) { var _a, _b; const { locationId } = (_b = (_a = (await this.getCredentials('highLevelOAuth2Api'))) === null || _a === void 0 ? void 0 : _a.oauthTokenData) !== null && _b !== void 0 ? _b : {}; const responseData = (await this.helpers.httpRequestWithAuthentication.call(this, 'highLevelOAuth2Api', { url: `https://services.leadconnectorhq.com/locations/${locationId}/timezones`, headers: { Accept: 'application/json', 'Content-Type': 'application/json', Version: '2021-07-28', }, })); const timezones = responseData.timeZones; const results = timezones .map((zone) => ({ name: zone.trim(), value: zone.trim(), })) .filter((zone) => !filter || zone.name.toLowerCase().includes(filter.toLowerCase())) .sort((a, b) => { if (a.name.toLowerCase() < b.name.toLowerCase()) return -1; if (a.name.toLowerCase() > b.name.toLowerCase()) return 1; return 0; }); return { results }; }, }, }; this.description = { ...baseDescription, ...versionDescription, }; } } exports.HighLevelV2 = HighLevelV2; //# sourceMappingURL=HighLevelV2.node.js.map