UNPKG

n8n-nodes-gohighlevel

Version:
72 lines (59 loc) 2.59 kB
import { GoHighLevelManager } from '@src/utils/gohighlevel'; import { IExecuteFunctions, IDataObject } from 'n8n-workflow'; export async function handleCompanyOperations( this: IExecuteFunctions, operation: string, i: number, ): Promise<IDataObject | IDataObject[]> { const GHLEngine = await GoHighLevelManager.getInstance(this); if (operation === 'create') { const data = { name: this.getNodeParameter('name', i) as string, website: this.getNodeParameter('website', i) as string, industry: this.getNodeParameter('industry', i) as string, description: this.getNodeParameter('description', i) as string, ...this.getNodeParameter('additionalFields', i, {}) as IDataObject, }; return GHLEngine.createCompany(data); } if (operation === 'update') { const companyId = this.getNodeParameter('companyId', i) as string; const data = { name: this.getNodeParameter('name', i) as string, website: this.getNodeParameter('website', i) as string, industry: this.getNodeParameter('industry', i) as string, description: this.getNodeParameter('description', i) as string, ...this.getNodeParameter('additionalFields', i, {}) as IDataObject, }; return GHLEngine.updateCompany(companyId, data); } if (operation === 'get') { const companyId = this.getNodeParameter('companyId', i) as string; return GHLEngine.getCompany(companyId); } if (operation === 'getAll') { const returnAll = this.getNodeParameter('returnAll', i) as boolean; const filters = this.getNodeParameter('filters', i) as IDataObject; if (returnAll) { return GHLEngine.getCompanies({ params: filters }); } else { const limit = this.getNodeParameter('limit', i) as number; return GHLEngine.getCompanies({ params: { ...filters, limit } }); } } if (operation === 'delete') { const companyId = this.getNodeParameter('companyId', i) as string; return GHLEngine.deleteCompany(companyId); } if (operation === 'addTag') { const companyId = this.getNodeParameter('companyId', i) as string; const tags = (this.getNodeParameter('tags', i) as string).split(',').map(tag => tag.trim()); return GHLEngine.addTagsToCompany(companyId, tags); } if (operation === 'removeTag') { const companyId = this.getNodeParameter('companyId', i) as string; const tags = (this.getNodeParameter('tags', i) as string).split(',').map(tag => tag.trim()); return GHLEngine.removeTagsFromCompany(companyId, tags); } throw new Error(`Unknown operation: ${operation}`); }