@ingeno/pipedream-services 1.0.63 โ†’ 1.0.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/aws/apn/partner-central-client.test.d.ts +2 -0
  2. package/dist/aws/apn/partner-central-client.test.d.ts.map +1 -0
  3. package/dist/aws/apn/partner-central-client.test.js +38 -0
  4. package/dist/aws/apn/partner-central-client.test.js.map +1 -0
  5. package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.test.d.ts +2 -0
  6. package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.test.d.ts.map +1 -0
  7. package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.test.js +34 -0
  8. package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.test.js.map +1 -0
  9. package/dist/aws/aws-list-stream.test.d.ts +3 -0
  10. package/dist/aws/aws-list-stream.test.d.ts.map +1 -0
  11. package/dist/aws/aws-list-stream.test.js +50 -0
  12. package/dist/aws/aws-list-stream.test.js.map +1 -0
  13. package/dist/collections/collections-to-table.test.d.ts +2 -0
  14. package/dist/collections/collections-to-table.test.d.ts.map +1 -0
  15. package/dist/collections/collections-to-table.test.js +105 -0
  16. package/dist/collections/collections-to-table.test.js.map +1 -0
  17. package/dist/collections/converter.test.d.ts +2 -0
  18. package/dist/collections/converter.test.d.ts.map +1 -0
  19. package/dist/collections/converter.test.js +304 -0
  20. package/dist/collections/converter.test.js.map +1 -0
  21. package/dist/postgres/posgres-test-config.d.ts +8 -0
  22. package/dist/postgres/posgres-test-config.d.ts.map +1 -0
  23. package/dist/postgres/posgres-test-config.js +8 -0
  24. package/dist/postgres/posgres-test-config.js.map +1 -0
  25. package/dist/postgres/postgres-test-connection.test.d.ts +2 -0
  26. package/dist/postgres/postgres-test-connection.test.d.ts.map +1 -0
  27. package/dist/postgres/postgres-test-connection.test.js +68 -0
  28. package/dist/postgres/postgres-test-connection.test.js.map +1 -0
  29. package/dist/postgres/postgres.d.ts.map +1 -1
  30. package/dist/postgres/postgres.js +5 -3
  31. package/dist/postgres/postgres.js.map +1 -1
  32. package/dist/postgres/postgres.test.d.ts +2 -0
  33. package/dist/postgres/postgres.test.d.ts.map +1 -0
  34. package/dist/postgres/postgres.test.js +497 -0
  35. package/dist/postgres/postgres.test.js.map +1 -0
  36. package/dist/streams/list-stream.test.d.ts +2 -0
  37. package/dist/streams/list-stream.test.d.ts.map +1 -0
  38. package/dist/streams/list-stream.test.js +169 -0
  39. package/dist/streams/list-stream.test.js.map +1 -0
  40. package/dist/zoho-crm/zoho-crm-client.d.ts +68 -0
  41. package/dist/zoho-crm/zoho-crm-client.d.ts.map +1 -1
  42. package/dist/zoho-crm/zoho-crm-client.js +216 -0
  43. package/dist/zoho-crm/zoho-crm-client.js.map +1 -1
  44. package/dist/zoho-crm/zoho-crm-client.test.d.ts +2 -0
  45. package/dist/zoho-crm/zoho-crm-client.test.d.ts.map +1 -0
  46. package/dist/zoho-crm/zoho-crm-client.test.js +341 -0
  47. package/dist/zoho-crm/zoho-crm-client.test.js.map +1 -0
  48. package/dist/zoho-crm/zoho-crm-fetcher.d.ts.map +1 -1
  49. package/dist/zoho-crm/zoho-crm-fetcher.js +76 -5
  50. package/dist/zoho-crm/zoho-crm-fetcher.js.map +1 -1
  51. package/package.json +3 -2
@@ -0,0 +1,341 @@
1
+ import dotenv from 'dotenv';
2
+ dotenv.config({ path: path.resolve(process.cwd(), '../../.env') });
3
+ import path from 'path';
4
+ import { beforeAll, describe, expect, it } from 'vitest';
5
+ import { zohoTestCredentials } from '@ingeno/pipedream-simulator';
6
+ import { ZohoCRMClient } from './zoho-crm-client.js';
7
+ describe('ZohoCRM Real Integration Tests', () => {
8
+ let client;
9
+ const testOpportunityId = `TEST-OPP-TO-DELETE`;
10
+ const testOpportunityName = `Test APN Opportunity - Safe to delete`;
11
+ beforeAll(async () => {
12
+ console.log('๐Ÿงช Setting up real Zoho CRM integration test...');
13
+ const credentials = await zohoTestCredentials();
14
+ client = new ZohoCRMClient({
15
+ accessToken: credentials.oauth_access_token,
16
+ apiDomain: credentials.api_domain,
17
+ });
18
+ console.log('โœ… Authenticated client created successfully');
19
+ }, 30000); // 30 second timeout for auth
20
+ it('should add an APN opportunity if it does not exist', async () => {
21
+ console.log('๐Ÿงช Testing real APN Opportunity creation...');
22
+ // Define the opportunity data to create
23
+ const opportunityData = {
24
+ Opportunity_Id: testOpportunityId,
25
+ Name: testOpportunityName,
26
+ Customer_Name: 'Test Customer Corp',
27
+ Opportunity_Type: 'Migration',
28
+ Status: 'Active',
29
+ Value: 75000,
30
+ Description: 'Test opportunity created by automated integration test',
31
+ Expected_Close_Date: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString().split('T')[0], // 30 days from now
32
+ Stage: 'Prospecting',
33
+ Source: 'API Integration Test'
34
+ };
35
+ // Step 1: Search for existing opportunity with the same Opportunity_Id
36
+ console.log(`๐Ÿ” Searching for existing opportunity with ID: "${testOpportunityId}"`);
37
+ const searchResults = await client.searchAPNOpportunities(`Opportunity_Id:equals:${testOpportunityId}`, { fields: ['id', 'Opportunity_Id', 'Name', 'Customer_Name', 'Status'] });
38
+ let opportunityId;
39
+ if (searchResults.data && searchResults.data.length > 0) {
40
+ const opportunity = searchResults.data[0];
41
+ expect(opportunity).toBeDefined();
42
+ expect(opportunity.Opportunity_Id).toBe(testOpportunityId);
43
+ opportunityId = opportunity.id;
44
+ }
45
+ else {
46
+ const createResult = await client.createAPNOpportunity(opportunityData);
47
+ expect(createResult).toBeDefined();
48
+ expect(createResult.code).toBe('SUCCESS');
49
+ opportunityId = createResult.details.id;
50
+ }
51
+ // Step 2: Verify we can retrieve the opportunity by ID
52
+ console.log(`๐Ÿ” Verifying opportunity can be retrieved by ID: ${opportunityId}`);
53
+ const retrievedOpportunity = await client.getAPNOpportunity(opportunityId);
54
+ expect(retrievedOpportunity).toBeDefined();
55
+ expect(retrievedOpportunity.id).toBe(opportunityId);
56
+ expect(retrievedOpportunity.Name).toBe(testOpportunityName);
57
+ // Step 3: Test updating the opportunity
58
+ console.log(`๐Ÿ“ Testing opportunity update...`);
59
+ const updateData = {
60
+ Description: `Updated by integration test at ${new Date().toISOString()}`,
61
+ Status: 'In Progress'
62
+ };
63
+ const updateResult = await client.updateAPNOpportunity(opportunityId, updateData);
64
+ expect(updateResult).toBeDefined();
65
+ expect(updateResult.details.id).toBe(opportunityId);
66
+ // Step 4 : Delete the test opportunity
67
+ console.log(`๐Ÿ—‘๏ธ Deleting test opportunity with ID: ${opportunityId}`);
68
+ const deleteResult = await client.deleteAPNOpportunity(opportunityId);
69
+ expect(deleteResult).toBe(true);
70
+ }, 120000);
71
+ it('should fetch deal stage history for existing deals', async () => {
72
+ console.log('๐Ÿงช Testing deal stage history fetching...');
73
+ // Step 1: Get a few deals to test with
74
+ console.log('๐Ÿ“Š Fetching existing deals to test stage history...');
75
+ const deals = await client.getDeals({ maxRecords: 5 });
76
+ expect(deals).toBeDefined();
77
+ expect(Array.isArray(deals)).toBe(true);
78
+ if (deals.length === 0) {
79
+ console.log('โš ๏ธ No deals found, skipping stage history test');
80
+ return;
81
+ }
82
+ const testDeal = deals[0];
83
+ console.log(`๐ŸŽฏ Testing stage history for deal: ${testDeal.id} (${testDeal.Deal_Name || testDeal.Name || 'Unnamed Deal'})`);
84
+ // Step 2: Test basic stage history fetch
85
+ console.log('๐Ÿ“ˆ Fetching stage history...');
86
+ const stageHistory = await client.getDealStageHistory(testDeal.id);
87
+ expect(stageHistory).toBeDefined();
88
+ expect(Array.isArray(stageHistory)).toBe(true);
89
+ console.log(`โœ… Found ${stageHistory.length} stage history records`);
90
+ // Validate stage history structure if records exist
91
+ if (stageHistory.length > 0) {
92
+ const historyRecord = stageHistory[0];
93
+ console.log('๐Ÿ“ Sample stage history record:', JSON.stringify(historyRecord, null, 2));
94
+ expect(historyRecord).toBeDefined();
95
+ expect(typeof historyRecord).toBe('object');
96
+ }
97
+ // Step 3: Test paginated stage history fetch
98
+ console.log('๐Ÿ“„ Testing paginated stage history fetch...');
99
+ const allStageHistory = await client.getAllDealStageHistory(testDeal.id, 10);
100
+ expect(allStageHistory).toBeDefined();
101
+ expect(Array.isArray(allStageHistory)).toBe(true);
102
+ expect(allStageHistory.length).toBeLessThanOrEqual(10);
103
+ console.log(`โœ… Paginated fetch returned ${allStageHistory.length} records`);
104
+ // Step 4: Test streaming stage history
105
+ console.log('๐ŸŒŠ Testing stage history streaming...');
106
+ const stream = client.createDealStageHistoryStream(testDeal.id);
107
+ expect(stream).toBeDefined();
108
+ expect(typeof stream.subscribe).toBe('function');
109
+ console.log('โœ… Stage history stream created successfully');
110
+ console.log('๐ŸŽ‰ Deal stage history tests completed successfully');
111
+ }, 60000);
112
+ it('should fetch related list metadata for modules', async () => {
113
+ console.log('๐Ÿงช Testing related list metadata fetching...');
114
+ // Step 1: Test getting related list metadata for Deals module
115
+ console.log('๐Ÿ”— Fetching related list metadata for Deals module...');
116
+ const dealsMetadata = await client.getRelatedListMetadata('Deals');
117
+ expect(dealsMetadata).toBeDefined();
118
+ expect(dealsMetadata.related_lists).toBeDefined();
119
+ expect(Array.isArray(dealsMetadata.related_lists)).toBe(true);
120
+ console.log(`โœ… Found ${dealsMetadata.related_lists.length} related lists for Deals`);
121
+ // Step 2: Test structured related record types function
122
+ console.log('๐Ÿ“‹ Getting structured related record types for Deals...');
123
+ const relatedTypes = await client.getModuleRelatedRecordTypes('Deals');
124
+ expect(relatedTypes).toBeDefined();
125
+ expect(Array.isArray(relatedTypes)).toBe(true);
126
+ console.log(`โœ… Found ${relatedTypes.length} related record types`);
127
+ // Validate structure of related types
128
+ if (relatedTypes.length > 0) {
129
+ const firstType = relatedTypes[0];
130
+ console.log('๐Ÿ“ Sample related type:', JSON.stringify(firstType, null, 2));
131
+ expect(firstType).toBeDefined();
132
+ expect(typeof firstType.api_name).toBe('string');
133
+ expect(typeof firstType.display_label).toBe('string');
134
+ expect(typeof firstType.sequence_number).toBe('number');
135
+ }
136
+ // Step 3: Test with Accounts module
137
+ console.log('๐Ÿข Testing with Accounts module...');
138
+ const accountsRelatedTypes = await client.getModuleRelatedRecordTypes('Accounts');
139
+ expect(accountsRelatedTypes).toBeDefined();
140
+ expect(Array.isArray(accountsRelatedTypes)).toBe(true);
141
+ console.log(`โœ… Found ${accountsRelatedTypes.length} related record types for Accounts`);
142
+ // Step 4: Test getting related records if we have any deals
143
+ if (relatedTypes.length > 0) {
144
+ console.log('๐Ÿ” Testing related records fetching...');
145
+ // Get a deal to test with
146
+ const deals = await client.getDeals({ maxRecords: 1 });
147
+ if (deals.length > 0) {
148
+ const testDeal = deals[0];
149
+ const firstRelatedType = relatedTypes[0];
150
+ console.log(`๐ŸŽฏ Testing related records for deal: ${testDeal.id}, related type: ${firstRelatedType.api_name}`);
151
+ try {
152
+ const relatedRecords = await client.getRelatedRecords('Deals', testDeal.id, firstRelatedType.api_name, { per_page: 5 });
153
+ expect(relatedRecords).toBeDefined();
154
+ expect(relatedRecords.data).toBeDefined();
155
+ expect(Array.isArray(relatedRecords.data)).toBe(true);
156
+ console.log(`โœ… Found ${relatedRecords.data.length} related records of type ${firstRelatedType.api_name}`);
157
+ }
158
+ catch (error) {
159
+ console.log(`โš ๏ธ Could not fetch related records for ${firstRelatedType.api_name}: ${error.message}`);
160
+ // This is expected for some related types that might not have data or permissions
161
+ }
162
+ }
163
+ }
164
+ console.log('๐ŸŽ‰ Related list metadata tests completed successfully');
165
+ }, 60000);
166
+ it('should fetch pipeline information for Deals module', async () => {
167
+ console.log('๐Ÿงช Testing pipeline fetching...');
168
+ // Step 1: Test getting Deals layout ID
169
+ console.log('๐Ÿ—๏ธ Getting Deals layout ID...');
170
+ const layoutId = await client.getDealsLayoutId();
171
+ expect(layoutId).toBeDefined();
172
+ expect(typeof layoutId).toBe('string');
173
+ expect(layoutId.length).toBeGreaterThan(0);
174
+ console.log(`โœ… Found Deals layout ID: ${layoutId}`);
175
+ // Step 2: Test getting pipelines using layout ID
176
+ console.log('๐Ÿ”ง Fetching pipelines using layout ID...');
177
+ const pipelinesRaw = await client.getPipelines(layoutId);
178
+ expect(pipelinesRaw).toBeDefined();
179
+ expect(pipelinesRaw.pipeline).toBeDefined();
180
+ expect(Array.isArray(pipelinesRaw.pipeline)).toBe(true);
181
+ console.log(`โœ… Found ${pipelinesRaw.pipeline.length} pipeline(s) in raw response`);
182
+ // Step 3: Test structured pipeline details
183
+ console.log('๐Ÿ“Š Getting structured pipeline details...');
184
+ const pipelineDetails = await client.getPipelineDetails(layoutId);
185
+ expect(pipelineDetails).toBeDefined();
186
+ expect(Array.isArray(pipelineDetails)).toBe(true);
187
+ console.log(`โœ… Found ${pipelineDetails.length} structured pipeline(s)`);
188
+ // Validate pipeline structure if pipelines exist
189
+ if (pipelineDetails.length > 0) {
190
+ const firstPipeline = pipelineDetails[0];
191
+ console.log('๐Ÿ“ Sample pipeline:', JSON.stringify(firstPipeline, null, 2));
192
+ expect(firstPipeline).toBeDefined();
193
+ expect(typeof firstPipeline.id).toBe('string');
194
+ expect(typeof firstPipeline.display_value).toBe('string');
195
+ expect(typeof firstPipeline.default).toBe('boolean');
196
+ expect(Array.isArray(firstPipeline.stages)).toBe(true);
197
+ // Validate stage structure if stages exist
198
+ if (firstPipeline.stages.length > 0) {
199
+ const firstStage = firstPipeline.stages[0];
200
+ expect(firstStage).toBeDefined();
201
+ expect(typeof firstStage.id).toBe('string');
202
+ expect(typeof firstStage.display_value).toBe('string');
203
+ expect(typeof firstStage.sequence_number).toBe('number');
204
+ console.log(`โœ… Pipeline "${firstPipeline.display_value}" has ${firstPipeline.stages.length} stages`);
205
+ }
206
+ }
207
+ // Step 4: Test convenience method for Deals pipelines
208
+ console.log('๐ŸŽฏ Testing convenience method for Deals pipelines...');
209
+ const dealsPipelines = await client.getDealsPipelines();
210
+ expect(dealsPipelines).toBeDefined();
211
+ expect(Array.isArray(dealsPipelines)).toBe(true);
212
+ expect(dealsPipelines.length).toBe(pipelineDetails.length);
213
+ console.log(`โœ… Convenience method returned ${dealsPipelines.length} pipeline(s)`);
214
+ // Step 5: Test getting a specific pipeline if we have any
215
+ if (dealsPipelines.length > 0) {
216
+ const testPipelineId = dealsPipelines[0].id;
217
+ console.log(`๐ŸŽฏ Testing specific pipeline fetch for ID: ${testPipelineId}`);
218
+ const specificPipeline = await client.getDealsPipeline(testPipelineId);
219
+ expect(specificPipeline).toBeDefined();
220
+ expect(Array.isArray(specificPipeline)).toBe(true);
221
+ expect(specificPipeline.length).toBe(1);
222
+ expect(specificPipeline[0].id).toBe(testPipelineId);
223
+ console.log(`โœ… Successfully fetched specific pipeline: ${specificPipeline[0].display_value}`);
224
+ }
225
+ console.log('๐ŸŽ‰ Pipeline tests completed successfully');
226
+ }, 60000);
227
+ it('should explore available settings and configurations like pipelines', async () => {
228
+ console.log('๐Ÿงช Exploring other settings/configurations available in Zoho CRM...');
229
+ // Common settings endpoints that might exist
230
+ const settingsEndpoints = [
231
+ '/settings/modules',
232
+ '/settings/fields',
233
+ '/settings/layouts',
234
+ '/settings/pipeline',
235
+ '/settings/custom_views',
236
+ '/settings/roles',
237
+ '/settings/profiles',
238
+ '/settings/users',
239
+ '/settings/territories',
240
+ '/settings/currencies',
241
+ '/settings/custom_links',
242
+ '/settings/workflow',
243
+ '/settings/automation',
244
+ '/settings/blueprints',
245
+ '/settings/tags',
246
+ '/settings/related_lists',
247
+ '/settings/picklist_values',
248
+ '/settings/organization',
249
+ '/settings/company_details',
250
+ '/settings/preferences',
251
+ '/settings/variables',
252
+ '/settings/macros',
253
+ '/settings/email_templates',
254
+ '/settings/inventory_templates',
255
+ '/settings/attachments',
256
+ '/settings/notes',
257
+ '/settings/activities',
258
+ '/settings/forecasts',
259
+ '/settings/analytics',
260
+ '/settings/dashboard',
261
+ '/settings/reports',
262
+ '/settings/integrations',
263
+ '/settings/apis',
264
+ '/settings/webhooks',
265
+ '/settings/functions',
266
+ '/settings/canvas',
267
+ '/settings/widgets',
268
+ '/settings/zia'
269
+ ];
270
+ const workingEndpoints = [];
271
+ const failedEndpoints = [];
272
+ for (const endpoint of settingsEndpoints) {
273
+ try {
274
+ console.log(`๐Ÿ” Testing: ${endpoint}`);
275
+ const response = await client.makeRequest(endpoint, {}, `explore ${endpoint}`);
276
+ console.log(`โœ… SUCCESS: ${endpoint}`);
277
+ console.log(` Response keys: [${Object.keys(response).join(', ')}]`);
278
+ // Show sample data structure for interesting endpoints
279
+ if (response && typeof response === 'object') {
280
+ const firstKey = Object.keys(response)[0];
281
+ if (firstKey && Array.isArray(response[firstKey]) && response[firstKey].length > 0) {
282
+ const sampleItem = response[firstKey][0];
283
+ console.log(` Sample item keys: [${Object.keys(sampleItem).join(', ')}]`);
284
+ }
285
+ }
286
+ workingEndpoints.push(endpoint);
287
+ }
288
+ catch (error) {
289
+ console.log(`โŒ FAILED: ${endpoint} - ${error.message}`);
290
+ failedEndpoints.push({ endpoint, error: error.message });
291
+ }
292
+ }
293
+ console.log(`\n๐Ÿ“Š Summary:`);
294
+ console.log(`โœ… Working endpoints: ${workingEndpoints.length}`);
295
+ console.log(`โŒ Failed endpoints: ${failedEndpoints.length}`);
296
+ console.log(`\nโœ… Available Settings/Configurations:`);
297
+ workingEndpoints.forEach(endpoint => {
298
+ console.log(` - ${endpoint}`);
299
+ });
300
+ // Test some specific settings that we know work
301
+ console.log(`\n๐Ÿ”ง Testing specific working endpoints with parameters...`);
302
+ try {
303
+ // Test modules with specific module
304
+ console.log(`๐Ÿ“‹ Testing /settings/modules for specific module...`);
305
+ const moduleSettings = await client.makeRequest('/settings/modules/Deals', {}, 'get Deals module settings');
306
+ console.log(` Deals module settings keys: [${Object.keys(moduleSettings).join(', ')}]`);
307
+ }
308
+ catch (error) {
309
+ console.log(` โŒ Failed: ${error.message}`);
310
+ }
311
+ try {
312
+ // Test fields with module parameter
313
+ console.log(`๐Ÿ“ Testing /settings/fields with module parameter...`);
314
+ const fieldsSettings = await client.makeRequest('/settings/fields?module=Deals', {}, 'get Deals fields settings');
315
+ console.log(` Deals fields count: ${fieldsSettings.fields?.length || 0}`);
316
+ }
317
+ catch (error) {
318
+ console.log(` โŒ Failed: ${error.message}`);
319
+ }
320
+ try {
321
+ // Test layouts with module parameter
322
+ console.log(`๐Ÿ—๏ธ Testing /settings/layouts with module parameter...`);
323
+ const layoutsSettings = await client.makeRequest('/settings/layouts?module=Deals', {}, 'get Deals layouts settings');
324
+ console.log(` Deals layouts count: ${layoutsSettings.layouts?.length || 0}`);
325
+ }
326
+ catch (error) {
327
+ console.log(` โŒ Failed: ${error.message}`);
328
+ }
329
+ try {
330
+ // Test organization settings
331
+ console.log(`๐Ÿข Testing /settings/organization...`);
332
+ const orgSettings = await client.makeRequest('/settings/organization', {}, 'get organization settings');
333
+ console.log(` Organization settings keys: [${Object.keys(orgSettings).join(', ')}]`);
334
+ }
335
+ catch (error) {
336
+ console.log(` โŒ Failed: ${error.message}`);
337
+ }
338
+ console.log('๐ŸŽ‰ Settings exploration completed');
339
+ }, 120000); // Longer timeout for this comprehensive test
340
+ });
341
+ //# sourceMappingURL=zoho-crm-client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoho-crm-client.test.js","sourceRoot":"","sources":["../../src/zoho-crm/zoho-crm-client.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zoho-crm-fetcher.d.ts","sourceRoot":"","sources":["../../src/zoho-crm/zoho-crm-fetcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,GAAG,CAAA;IACpB,mBAAmB,EAAE,YAAY,CAAA;IACjC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACnD;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2ChG"}
1
+ {"version":3,"file":"zoho-crm-fetcher.d.ts","sourceRoot":"","sources":["../../src/zoho-crm/zoho-crm-fetcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,GAAG,CAAA;IACpB,mBAAmB,EAAE,YAAY,CAAA;IACjC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACnD;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8HhG"}
@@ -14,14 +14,85 @@ export async function fetchZohoCRMData(options) {
14
14
  accessToken,
15
15
  apiDomain: zohoCredentials.api_domain,
16
16
  });
17
- console.log(`Fetching data from modules: ${modules.join(', ')}`);
17
+ // Check if Deals is in modules and add DealHistory if so
18
+ const enhancedModules = [...modules];
19
+ const includesPipelines = modules.includes('Deals');
20
+ if (includesPipelines && !enhancedModules.includes('DealHistory')) {
21
+ enhancedModules.push('DealHistory');
22
+ console.log('Added DealHistory module since Deals is included');
23
+ }
24
+ console.log(`Fetching data from modules: ${enhancedModules.join(', ')}`);
18
25
  console.log(`Max results per module: ${maxResults || 'all'}`);
19
- const collections = [];
20
26
  // Process each module using the generic processor
21
- for (const moduleName of modules) {
27
+ const moduleCollections = await Promise.all(enhancedModules.map(async (moduleName) => {
22
28
  console.log(`Fetching ${moduleName}...`);
23
- const collection = await processModule(moduleName, client, { maxRecords: maxResults || undefined });
24
- collections.push(collection);
29
+ return await processModule(moduleName, client, { maxRecords: maxResults || undefined });
30
+ }));
31
+ const collections = [...moduleCollections];
32
+ // If Deals is included, also fetch and process pipelines
33
+ if (includesPipelines) {
34
+ console.log('Fetching Deals pipelines...');
35
+ try {
36
+ const pipelinesData = await client.getDealsPipelines();
37
+ // Create a collection for pipelines
38
+ const pipelinesCollection = {
39
+ schema: {
40
+ name: 'pipelines',
41
+ prepareMode: 'drop',
42
+ columns: [
43
+ { name: 'id', type: 'id' },
44
+ { name: 'pipeline_id', path: 'id' },
45
+ { name: 'display_value', type: 'text' },
46
+ { name: 'default', type: 'bool' },
47
+ { name: 'stages_count', transform: (pipeline) => pipeline.stages?.length || 0 },
48
+ { name: 'stages_data', type: 'json', path: 'stages' },
49
+ ],
50
+ },
51
+ objects: pipelinesData.map((pipeline, index) => ({
52
+ id: index + 1,
53
+ ...pipeline,
54
+ })),
55
+ };
56
+ // Create a separate collection for pipeline stages using functional programming
57
+ const stagesData = pipelinesData
58
+ .filter((pipeline) => pipeline.stages && Array.isArray(pipeline.stages))
59
+ .flatMap((pipeline) => pipeline.stages.map((stage) => ({
60
+ id: stage.id,
61
+ pipeline_id: pipeline.id,
62
+ pipeline_display_value: pipeline.display_value,
63
+ stage_id: stage.id,
64
+ stage_display_value: stage.display_value,
65
+ sequence_number: stage.sequence_number,
66
+ forecast_category: stage.forecast_category,
67
+ forecast_type: stage.forecast_type,
68
+ probability: stage.probability || 0,
69
+ })));
70
+ const pipelineStagesCollection = {
71
+ schema: {
72
+ name: 'pipeline_stages',
73
+ prepareMode: 'drop',
74
+ columns: [
75
+ { name: 'id', type: 'id' },
76
+ { name: 'pipeline_id', type: 'text' },
77
+ { name: 'pipeline_display_value', type: 'text' },
78
+ { name: 'stage_id', type: 'text' },
79
+ { name: 'stage_display_value', type: 'text' },
80
+ { name: 'sequence_number', type: 'number' },
81
+ { name: 'forecast_category', type: 'text' },
82
+ { name: 'forecast_type', type: 'text' },
83
+ { name: 'probability', type: 'number' },
84
+ ],
85
+ },
86
+ objects: stagesData,
87
+ };
88
+ const pipelineCollections = [pipelinesCollection, pipelineStagesCollection];
89
+ collections.push(...pipelineCollections);
90
+ console.log(`Processed ${pipelinesData.length} pipelines`);
91
+ console.log(`Processed ${stagesData.length} pipeline stages`);
92
+ }
93
+ catch (error) {
94
+ console.warn('Failed to fetch pipelines:', error.message);
95
+ }
25
96
  }
26
97
  // Log summary
27
98
  collectionSummary(collections);
@@ -1 +1 @@
1
- {"version":3,"file":"zoho-crm-fetcher.js","sourceRoot":"","sources":["../../src/zoho-crm/zoho-crm-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAgBxH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,GAAG,WAAW,EAAE,GAAG,OAAO,CAAA;IAEzG,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAA;IAEnD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;QAC/B,WAAW;QACX,SAAS,EAAE,eAAe,CAAC,UAAU;KACtC,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChE,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,IAAI,KAAK,EAAE,CAAC,CAAA;IAE7D,MAAM,WAAW,GAAG,EAAE,CAAA;IAEtB,kDAAkD;IAClD,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,KAAK,CAAC,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC,CAAA;QACnG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC9B,CAAC;IAED,cAAc;IACd,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAE9B,0BAA0B;IAC1B,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAEnD,yBAAyB;IACzB,MAAM,UAAU,CAAC;QACf,IAAI,EAAE,mBAAmB;QACzB,UAAU;QACV,YAAY;KACb,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;YACxC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;SAC1B,CAAC,CAAC;KACJ,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"zoho-crm-fetcher.js","sourceRoot":"","sources":["../../src/zoho-crm/zoho-crm-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAgBxH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,GAAG,WAAW,EAAE,GAAG,OAAO,CAAA;IAEzG,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAA;IAEnD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;QAC/B,WAAW;QACX,SAAS,EAAE,eAAe,CAAC,UAAU;KACtC,CAAC,CAAA;IAEF,yDAAyD;IACzD,MAAM,eAAe,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IACpC,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEnD,IAAI,iBAAiB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAClE,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACnC,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxE,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,IAAI,KAAK,EAAE,CAAC,CAAA;IAE7D,kDAAkD;IAClD,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,KAAK,CAAC,CAAA;QACxC,OAAO,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC,CAAA;IACzF,CAAC,CAAC,CACH,CAAA;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAE1C,yDAAyD;IACzD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAE1C,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAA;YAEtD,oCAAoC;YACpC,MAAM,mBAAmB,GAAG;gBAC1B,MAAM,EAAE;oBACN,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,MAAe;oBAC5B,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAa,EAAE;wBACnC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE;wBACnC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAe,EAAE;wBAChD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAe,EAAE;wBAC1C,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE;wBACpF,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC/D;iBACF;gBACD,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,QAAa,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;oBAC5D,EAAE,EAAE,KAAK,GAAG,CAAC;oBACb,GAAG,QAAQ;iBACZ,CAAC,CAAC;aACJ,CAAA;YAED,gFAAgF;YAChF,MAAM,UAAU,GAAG,aAAa;iBAC7B,MAAM,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC5E,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE,CACzB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,sBAAsB,EAAE,QAAQ,CAAC,aAAa;gBAC9C,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,mBAAmB,EAAE,KAAK,CAAC,aAAa;gBACxC,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC;aACpC,CAAC,CAAC,CACJ,CAAA;YAEH,MAAM,wBAAwB,GAAG;gBAC/B,MAAM,EAAE;oBACN,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,MAAe;oBAC5B,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAa,EAAE;wBACnC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAe,EAAE;wBAC9C,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAe,EAAE;wBACzD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAe,EAAE;wBAC3C,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAe,EAAE;wBACtD,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAiB,EAAE;wBACpD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAe,EAAE;wBACpD,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAe,EAAE;wBAChD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAiB,EAAE;qBACjD;iBACF;gBACD,OAAO,EAAE,UAAU;aACpB,CAAA;YAED,MAAM,mBAAmB,GAAG,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAA;YAC3E,WAAW,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAA;YAExC,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,CAAC,MAAM,YAAY,CAAC,CAAA;YAC1D,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,MAAM,kBAAkB,CAAC,CAAA;QAC/D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAED,cAAc;IACd,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAE9B,0BAA0B;IAC1B,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAEnD,yBAAyB;IACzB,MAAM,UAAU,CAAC;QACf,IAAI,EAAE,mBAAmB;QACzB,UAAU;QACV,YAAY;KACb,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;YACxC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;SAC1B,CAAC,CAAC;KACJ,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ingeno/pipedream-services",
3
- "version": "1.0.63",
3
+ "version": "1.0.64",
4
4
  "description": "Service utilities for Clarity data integrations",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -77,7 +77,8 @@
77
77
  "build": "npm run clean && npm run build:tsc",
78
78
  "build:tsc": "tsc",
79
79
  "build:watch": "tsc -w",
80
- "lint": "eslint src/**/*.ts --fix",
80
+ "lint": "eslint src/**/*.ts",
81
+ "lint:fix": "eslint src/**/*.ts --fix",
81
82
  "clean": "rm -rf dist",
82
83
  "test": "vitest run",
83
84
  "test:watch": "vitest --watch",