UNPKG

n8n-nodes-gohighlevel

Version:
138 lines 5.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GoHighLevelV2 = void 0; const n8n_workflow_1 = require("n8n-workflow"); const resources_1 = require("./src/resources"); const gohighlevel_1 = require("./src/utils/gohighlevel"); class GoHighLevelV2 { constructor() { this.description = { displayName: 'GoHighLevel V2', name: 'goHighLevelV2', icon: 'file:gohighlevel.svg', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'Consume GoHighLevel V2 API', defaults: { name: 'GoHighLevel V2', }, inputs: ['main'], outputs: ['main'], credentials: [ { name: 'goHighLevelOAuth2Api', required: true, }, ], requestDefaults: { headers: { Accept: 'application/json', 'Content-Type': 'application/json', 'Version': '2021-07-28', }, }, properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Contact', value: 'contact', }, { name: 'Company', value: 'company', }, { name: 'Opportunity', value: 'opportunity', }, { name: 'Custom Field', value: 'customField', }, ], default: 'contact', }, ...resources_1.contactOperations, ...resources_1.contactFields, ...resources_1.companyOperations, ...resources_1.companyFields, ...resources_1.opportunityOperations, ...resources_1.opportunityFields, ], }; this.methods = { loadOptions: { async getCustomFields() { const GHLEngine = await gohighlevel_1.GoHighLevelManager.getInstance(this); const customFields = await GHLEngine.getCustomFields(); return customFields.map((field) => ({ name: field.name, value: field.id || '', })); }, async getOpportunityCustomFields() { const GHLEngine = await gohighlevel_1.GoHighLevelManager.getInstance(this); const customFields = await GHLEngine.getCustomFields('opportunity'); return customFields.map((field) => ({ name: field.name, value: field.id || '', })); }, async getContactCustomFields() { const GHLEngine = await gohighlevel_1.GoHighLevelManager.getInstance(this); const customFields = await GHLEngine.getCustomFields('contact'); return customFields.map((field) => ({ name: field.name, value: field.id || '', })); }, }, }; } async execute() { const items = this.getInputData(); const returnData = []; const resource = this.getNodeParameter('resource', 0); const operation = this.getNodeParameter('operation', 0); for (let i = 0; i < items.length; i++) { try { let responseData; switch (resource) { case 'contact': responseData = await resources_1.handleContactOperations.call(this, operation, i); break; case 'company': responseData = await resources_1.handleCompanyOperations.call(this, operation, i); break; case 'opportunity': responseData = await resources_1.handleOpportunityOperations.call(this, operation, i); break; default: throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The resource "${resource}" is not known!`); } if (Array.isArray(responseData)) { returnData.push.apply(returnData, responseData.map(item => ({ json: item }))); } else { returnData.push({ json: responseData }); } } catch (error) { if (this.continueOnFail()) { returnData.push({ json: { error: error.message } }); continue; } throw error; } } return [returnData]; } } exports.GoHighLevelV2 = GoHighLevelV2; //# sourceMappingURL=GoHighLevelV2.node.js.map