@ingeno/pipedream-services 1.0.62 → 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.
- package/dist/aws/apn/partner-central-client.test.d.ts +2 -0
- package/dist/aws/apn/partner-central-client.test.d.ts.map +1 -0
- package/dist/aws/apn/partner-central-client.test.js +38 -0
- package/dist/aws/apn/partner-central-client.test.js.map +1 -0
- package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.test.d.ts +2 -0
- package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.test.d.ts.map +1 -0
- package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.test.js +34 -0
- package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.test.js.map +1 -0
- package/dist/aws/aws-list-stream.test.d.ts +3 -0
- package/dist/aws/aws-list-stream.test.d.ts.map +1 -0
- package/dist/aws/aws-list-stream.test.js +50 -0
- package/dist/aws/aws-list-stream.test.js.map +1 -0
- package/dist/collections/collections-to-table.test.d.ts +2 -0
- package/dist/collections/collections-to-table.test.d.ts.map +1 -0
- package/dist/collections/collections-to-table.test.js +105 -0
- package/dist/collections/collections-to-table.test.js.map +1 -0
- package/dist/collections/converter.test.d.ts +2 -0
- package/dist/collections/converter.test.d.ts.map +1 -0
- package/dist/collections/converter.test.js +304 -0
- package/dist/collections/converter.test.js.map +1 -0
- package/dist/postgres/posgres-test-config.d.ts +8 -0
- package/dist/postgres/posgres-test-config.d.ts.map +1 -0
- package/dist/postgres/posgres-test-config.js +8 -0
- package/dist/postgres/posgres-test-config.js.map +1 -0
- package/dist/postgres/postgres-test-connection.test.d.ts +2 -0
- package/dist/postgres/postgres-test-connection.test.d.ts.map +1 -0
- package/dist/postgres/postgres-test-connection.test.js +68 -0
- package/dist/postgres/postgres-test-connection.test.js.map +1 -0
- package/dist/postgres/postgres.d.ts +1 -0
- package/dist/postgres/postgres.d.ts.map +1 -1
- package/dist/postgres/postgres.js +45 -14
- package/dist/postgres/postgres.js.map +1 -1
- package/dist/postgres/postgres.test.d.ts +2 -0
- package/dist/postgres/postgres.test.d.ts.map +1 -0
- package/dist/postgres/postgres.test.js +497 -0
- package/dist/postgres/postgres.test.js.map +1 -0
- package/dist/streams/list-stream.test.d.ts +2 -0
- package/dist/streams/list-stream.test.d.ts.map +1 -0
- package/dist/streams/list-stream.test.js +169 -0
- package/dist/streams/list-stream.test.js.map +1 -0
- package/dist/zoho-crm/module-processor.d.ts.map +1 -1
- package/dist/zoho-crm/module-processor.js +1 -9
- package/dist/zoho-crm/module-processor.js.map +1 -1
- package/dist/zoho-crm/zoho-crm-client.d.ts +69 -1
- package/dist/zoho-crm/zoho-crm-client.d.ts.map +1 -1
- package/dist/zoho-crm/zoho-crm-client.js +229 -26
- package/dist/zoho-crm/zoho-crm-client.js.map +1 -1
- package/dist/zoho-crm/zoho-crm-client.test.d.ts +2 -0
- package/dist/zoho-crm/zoho-crm-client.test.d.ts.map +1 -0
- package/dist/zoho-crm/zoho-crm-client.test.js +341 -0
- package/dist/zoho-crm/zoho-crm-client.test.js.map +1 -0
- package/dist/zoho-crm/zoho-crm-fetcher.d.ts.map +1 -1
- package/dist/zoho-crm/zoho-crm-fetcher.js +76 -5
- package/dist/zoho-crm/zoho-crm-fetcher.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { firstValueFrom, toArray } from 'rxjs';
|
|
3
|
+
import { createPaginatedStream } from './list-stream.js';
|
|
4
|
+
describe('createPaginatedStream', () => {
|
|
5
|
+
it('should handle single page with no nextPageToken', async () => {
|
|
6
|
+
const mockItems = [
|
|
7
|
+
{ id: 1, name: 'Item 1' },
|
|
8
|
+
{ id: 2, name: 'Item 2' }
|
|
9
|
+
];
|
|
10
|
+
let callCount = 0;
|
|
11
|
+
const mockPaginatedFn = async (options) => {
|
|
12
|
+
callCount++;
|
|
13
|
+
if (callCount === 1) {
|
|
14
|
+
expect(options.nextPageToken).toBeUndefined();
|
|
15
|
+
return {
|
|
16
|
+
items: mockItems,
|
|
17
|
+
nextPageToken: undefined
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
throw new Error('Should not be called again');
|
|
21
|
+
};
|
|
22
|
+
const stream = createPaginatedStream(mockPaginatedFn, {});
|
|
23
|
+
const result = await firstValueFrom(stream.pipe(toArray()));
|
|
24
|
+
expect(result).toEqual(mockItems);
|
|
25
|
+
expect(callCount).toBe(1);
|
|
26
|
+
});
|
|
27
|
+
it('should handle multiple pages with nextPageToken', async () => {
|
|
28
|
+
const page1Items = [
|
|
29
|
+
{ id: 1, name: 'Item 1' },
|
|
30
|
+
{ id: 2, name: 'Item 2' }
|
|
31
|
+
];
|
|
32
|
+
const page2Items = [
|
|
33
|
+
{ id: 3, name: 'Item 3' },
|
|
34
|
+
{ id: 4, name: 'Item 4' }
|
|
35
|
+
];
|
|
36
|
+
let callCount = 0;
|
|
37
|
+
const mockPaginatedFn = async (options) => {
|
|
38
|
+
callCount++;
|
|
39
|
+
if (callCount === 1) {
|
|
40
|
+
expect(options.nextPageToken).toBeUndefined();
|
|
41
|
+
return {
|
|
42
|
+
items: page1Items,
|
|
43
|
+
nextPageToken: 'token-page-2'
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
else if (callCount === 2) {
|
|
47
|
+
expect(options.nextPageToken).toBe('token-page-2');
|
|
48
|
+
return {
|
|
49
|
+
items: page2Items,
|
|
50
|
+
nextPageToken: undefined
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
throw new Error('Unexpected call');
|
|
54
|
+
};
|
|
55
|
+
const stream = createPaginatedStream(mockPaginatedFn, {});
|
|
56
|
+
const result = await firstValueFrom(stream.pipe(toArray()));
|
|
57
|
+
expect(result).toEqual([...page1Items, ...page2Items]);
|
|
58
|
+
expect(callCount).toBe(2);
|
|
59
|
+
});
|
|
60
|
+
it('should handle three pages with proper token progression', async () => {
|
|
61
|
+
const pages = [
|
|
62
|
+
[{ id: 1, name: 'Item 1' }],
|
|
63
|
+
[{ id: 2, name: 'Item 2' }],
|
|
64
|
+
[{ id: 3, name: 'Item 3' }]
|
|
65
|
+
];
|
|
66
|
+
const tokens = [undefined, 'token-2', 'token-3'];
|
|
67
|
+
const nextTokens = ['token-2', 'token-3', undefined];
|
|
68
|
+
let callCount = 0;
|
|
69
|
+
const mockPaginatedFn = async (options) => {
|
|
70
|
+
expect(options.nextPageToken).toBe(tokens[callCount]);
|
|
71
|
+
const result = {
|
|
72
|
+
items: pages[callCount],
|
|
73
|
+
nextPageToken: nextTokens[callCount]
|
|
74
|
+
};
|
|
75
|
+
callCount++;
|
|
76
|
+
return result;
|
|
77
|
+
};
|
|
78
|
+
const stream = createPaginatedStream(mockPaginatedFn, { pageSize: 1 });
|
|
79
|
+
const result = await firstValueFrom(stream.pipe(toArray()));
|
|
80
|
+
expect(result).toEqual(pages.flat());
|
|
81
|
+
expect(callCount).toBe(3);
|
|
82
|
+
});
|
|
83
|
+
it('should handle empty results', async () => {
|
|
84
|
+
const mockPaginatedFn = async (_options) => {
|
|
85
|
+
return {
|
|
86
|
+
items: [],
|
|
87
|
+
nextPageToken: undefined
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
const stream = createPaginatedStream(mockPaginatedFn, {});
|
|
91
|
+
const result = await firstValueFrom(stream.pipe(toArray()));
|
|
92
|
+
expect(result).toEqual([]);
|
|
93
|
+
});
|
|
94
|
+
it('should preserve options across pagination calls', async () => {
|
|
95
|
+
const testOptions = {
|
|
96
|
+
pageSize: 10,
|
|
97
|
+
};
|
|
98
|
+
let callCount = 0;
|
|
99
|
+
const mockPaginatedFn = async (options) => {
|
|
100
|
+
callCount++;
|
|
101
|
+
expect(options.pageSize).toBe(10);
|
|
102
|
+
if (callCount === 1) {
|
|
103
|
+
expect(options.nextPageToken).toBeUndefined();
|
|
104
|
+
return {
|
|
105
|
+
items: [{ id: 1, name: 'Phone' }],
|
|
106
|
+
nextPageToken: 'next-token'
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
expect(options.nextPageToken).toBe('next-token');
|
|
111
|
+
return {
|
|
112
|
+
items: [{ id: 2, name: 'Laptop' }],
|
|
113
|
+
nextPageToken: undefined
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
const stream = createPaginatedStream(mockPaginatedFn, testOptions);
|
|
118
|
+
const result = await firstValueFrom(stream.pipe(toArray()));
|
|
119
|
+
expect(result).toEqual([
|
|
120
|
+
{ id: 1, name: 'Phone' },
|
|
121
|
+
{ id: 2, name: 'Laptop' }
|
|
122
|
+
]);
|
|
123
|
+
expect(callCount).toBe(2);
|
|
124
|
+
});
|
|
125
|
+
it('should handle pages with mixed item counts', async () => {
|
|
126
|
+
let callCount = 0;
|
|
127
|
+
const mockPaginatedFn = async (_options) => {
|
|
128
|
+
callCount++;
|
|
129
|
+
if (callCount === 1) {
|
|
130
|
+
return {
|
|
131
|
+
items: [
|
|
132
|
+
{ id: 1, name: 'Item 1' },
|
|
133
|
+
{ id: 2, name: 'Item 2' },
|
|
134
|
+
{ id: 3, name: 'Item 3' }
|
|
135
|
+
],
|
|
136
|
+
nextPageToken: 'page-2'
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
else if (callCount === 2) {
|
|
140
|
+
return {
|
|
141
|
+
items: [{ id: 4, name: 'Item 4' }],
|
|
142
|
+
nextPageToken: 'page-3'
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
return {
|
|
147
|
+
items: [],
|
|
148
|
+
nextPageToken: undefined
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
const stream = createPaginatedStream(mockPaginatedFn, {});
|
|
153
|
+
const result = await firstValueFrom(stream.pipe(toArray()));
|
|
154
|
+
expect(result).toEqual([
|
|
155
|
+
{ id: 1, name: 'Item 1' },
|
|
156
|
+
{ id: 2, name: 'Item 2' },
|
|
157
|
+
{ id: 3, name: 'Item 3' },
|
|
158
|
+
{ id: 4, name: 'Item 4' }
|
|
159
|
+
]);
|
|
160
|
+
});
|
|
161
|
+
it('should propagate errors from paginated function', async () => {
|
|
162
|
+
const mockPaginatedFn = async (_options) => {
|
|
163
|
+
throw new Error('API Error');
|
|
164
|
+
};
|
|
165
|
+
const stream = createPaginatedStream(mockPaginatedFn, {});
|
|
166
|
+
await expect(firstValueFrom(stream.pipe(toArray()))).rejects.toThrow('API Error');
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
//# sourceMappingURL=list-stream.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-stream.test.js","sourceRoot":"","sources":["../../src/streams/list-stream.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-processor.d.ts","sourceRoot":"","sources":["../../src/zoho-crm/module-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAA;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAExE,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAGD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAuGxG;AAGD,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"module-processor.d.ts","sourceRoot":"","sources":["../../src/zoho-crm/module-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAA;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAExE,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAGD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAuGxG;AAGD,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,UAAU,CAAC,CAqBrB"}
|
|
@@ -98,15 +98,7 @@ export function generateSchemaFromRecords(records, schemaName) {
|
|
|
98
98
|
export async function processModule(moduleName, client, options = {}) {
|
|
99
99
|
const { maxRecords } = options;
|
|
100
100
|
console.log(`Processing module: ${moduleName}`);
|
|
101
|
-
|
|
102
|
-
const methodName = `get${moduleName}`;
|
|
103
|
-
const method = client[methodName];
|
|
104
|
-
if (!method || typeof method !== 'function') {
|
|
105
|
-
throw new Error(`No method found for module: ${moduleName}`);
|
|
106
|
-
}
|
|
107
|
-
// Fetch records using the client method
|
|
108
|
-
const records = await method.call(client, { maxRecords: maxRecords || undefined });
|
|
109
|
-
// Generate schema from the records
|
|
101
|
+
const records = await client.getAllRecordsWithFields(moduleName, { maxRecords: maxRecords || undefined });
|
|
110
102
|
const schema = generateSchemaFromRecords(records, moduleName.toLowerCase());
|
|
111
103
|
// Create collection with manually assigned IDs
|
|
112
104
|
const collection = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-processor.js","sourceRoot":"","sources":["../../src/zoho-crm/module-processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"module-processor.js","sourceRoot":"","sources":["../../src/zoho-crm/module-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,13 +61,13 @@ export declare class ZohoCRMClient {
|
|
|
61
61
|
getModuleFields(module: string): Promise<any>;
|
|
62
62
|
getModules(): Promise<any[]>;
|
|
63
63
|
getAllFieldNames(module: string): Promise<string[]>;
|
|
64
|
+
getAllRecordsWithFields(module: string, options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
64
65
|
getLeads(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
65
66
|
getContacts(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
66
67
|
getAccounts(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
67
68
|
getDeals(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
68
69
|
getTasks(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
69
70
|
getEvents(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
70
|
-
getCalls(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
71
71
|
getAPNOpportunities(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
72
72
|
getAPNOpportunity(opportunityId: string): Promise<ZohoCRMRecord>;
|
|
73
73
|
createAPNOpportunity(data: Partial<ZohoCRMRecord>): Promise<ZohoCRMRecord>;
|
|
@@ -81,5 +81,73 @@ export declare class ZohoCRMClient {
|
|
|
81
81
|
getRecentAPNOpportunities(days?: number, options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
|
|
82
82
|
bulkCreateAPNOpportunities(opportunities: Array<Partial<ZohoCRMRecord>>): Promise<ZohoCRMRecord[]>;
|
|
83
83
|
bulkUpdateAPNOpportunities(opportunities: Array<Partial<ZohoCRMRecord>>): Promise<ZohoCRMRecord[]>;
|
|
84
|
+
getDealStageHistory(dealId: string, fields?: string[]): Promise<ZohoCRMRecord[]>;
|
|
85
|
+
createDealStageHistoryStream(dealId: string, fields?: string[]): Observable<ZohoCRMRecord>;
|
|
86
|
+
getAllDealStageHistory(dealId: string, maxRecords?: number, fields?: string[]): Promise<ZohoCRMRecord[]>;
|
|
87
|
+
getRelatedListMetadata(module: string, layoutId?: string): Promise<any>;
|
|
88
|
+
getModuleRelatedRecordTypes(module: string, layoutId?: string): Promise<Array<{
|
|
89
|
+
api_name: string;
|
|
90
|
+
display_label: string;
|
|
91
|
+
module: string;
|
|
92
|
+
type: string;
|
|
93
|
+
sequence_number: number;
|
|
94
|
+
href?: string;
|
|
95
|
+
customization?: any;
|
|
96
|
+
}>>;
|
|
97
|
+
getRelatedRecords(module: string, recordId: string, relatedListApiName: string, options?: {
|
|
98
|
+
page?: number;
|
|
99
|
+
per_page?: number;
|
|
100
|
+
fields?: string[];
|
|
101
|
+
sort_order?: 'asc' | 'desc';
|
|
102
|
+
sort_by?: string;
|
|
103
|
+
}): Promise<ZohoCRMResponse<ZohoCRMRecord>>;
|
|
104
|
+
getAllRelatedRecords(module: string, recordId: string, relatedListApiName: string, options?: {
|
|
105
|
+
maxRecords?: number;
|
|
106
|
+
fields?: string[];
|
|
107
|
+
sort_order?: 'asc' | 'desc';
|
|
108
|
+
sort_by?: string;
|
|
109
|
+
}): Promise<ZohoCRMRecord[]>;
|
|
110
|
+
getPipelines(layoutId: string): Promise<any>;
|
|
111
|
+
getPipeline(pipelineId: string, layoutId: string): Promise<any>;
|
|
112
|
+
getPipelineDetails(layoutId: string, pipelineId?: string): Promise<Array<{
|
|
113
|
+
id: string;
|
|
114
|
+
display_value: string;
|
|
115
|
+
default: boolean;
|
|
116
|
+
stages: Array<{
|
|
117
|
+
id: string;
|
|
118
|
+
display_value: string;
|
|
119
|
+
sequence_number: number;
|
|
120
|
+
forecast_category?: string;
|
|
121
|
+
forecast_type?: string;
|
|
122
|
+
probability?: number;
|
|
123
|
+
}>;
|
|
124
|
+
}>>;
|
|
125
|
+
getDealsLayoutId(): Promise<string>;
|
|
126
|
+
getDealsPipelines(): Promise<Array<{
|
|
127
|
+
id: string;
|
|
128
|
+
display_value: string;
|
|
129
|
+
default: boolean;
|
|
130
|
+
stages: Array<{
|
|
131
|
+
id: string;
|
|
132
|
+
display_value: string;
|
|
133
|
+
sequence_number: number;
|
|
134
|
+
forecast_category?: string;
|
|
135
|
+
forecast_type?: string;
|
|
136
|
+
probability?: number;
|
|
137
|
+
}>;
|
|
138
|
+
}>>;
|
|
139
|
+
getDealsPipeline(pipelineId: string): Promise<Array<{
|
|
140
|
+
id: string;
|
|
141
|
+
display_value: string;
|
|
142
|
+
default: boolean;
|
|
143
|
+
stages: Array<{
|
|
144
|
+
id: string;
|
|
145
|
+
display_value: string;
|
|
146
|
+
sequence_number: number;
|
|
147
|
+
forecast_category?: string;
|
|
148
|
+
forecast_type?: string;
|
|
149
|
+
probability?: number;
|
|
150
|
+
}>;
|
|
151
|
+
}>>;
|
|
84
152
|
}
|
|
85
153
|
//# sourceMappingURL=zoho-crm-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoho-crm-client.d.ts","sourceRoot":"","sources":["../../src/zoho-crm/zoho-crm-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"zoho-crm-client.d.ts","sourceRoot":"","sources":["../../src/zoho-crm/zoho-crm-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -209,47 +209,34 @@ export class ZohoCRMClient {
|
|
|
209
209
|
console.log(`Using wildcard fields for ${module}`);
|
|
210
210
|
return ['*']; // Use wildcard to get all fields
|
|
211
211
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
return await this.getAllRecords('Leads', {
|
|
212
|
+
async getAllRecordsWithFields(module, options) {
|
|
213
|
+
const fields = await this.getAllFieldNames(module);
|
|
214
|
+
return await this.getAllRecords(module, {
|
|
216
215
|
fields,
|
|
217
216
|
...options,
|
|
218
217
|
});
|
|
219
218
|
}
|
|
219
|
+
// Convenience methods for common modules
|
|
220
|
+
async getLeads(options) {
|
|
221
|
+
return await this.getAllRecordsWithFields('Leads', options);
|
|
222
|
+
}
|
|
220
223
|
async getContacts(options) {
|
|
221
|
-
|
|
222
|
-
return await this.getAllRecords('Contacts', {
|
|
223
|
-
fields,
|
|
224
|
-
...options,
|
|
225
|
-
});
|
|
224
|
+
return await this.getAllRecordsWithFields('Contacts', options);
|
|
226
225
|
}
|
|
227
226
|
async getAccounts(options) {
|
|
228
|
-
|
|
229
|
-
return await this.getAllRecords('Accounts', {
|
|
230
|
-
fields,
|
|
231
|
-
...options,
|
|
232
|
-
});
|
|
227
|
+
return await this.getAllRecordsWithFields('Accounts', options);
|
|
233
228
|
}
|
|
234
229
|
async getDeals(options) {
|
|
235
|
-
|
|
236
|
-
return await this.getAllRecords('Deals', {
|
|
237
|
-
fields,
|
|
238
|
-
...options,
|
|
239
|
-
});
|
|
230
|
+
return await this.getAllRecordsWithFields('Deals', options);
|
|
240
231
|
}
|
|
241
232
|
async getTasks(options) {
|
|
242
|
-
return await this.
|
|
233
|
+
return await this.getAllRecordsWithFields('Tasks', options);
|
|
243
234
|
}
|
|
244
235
|
async getEvents(options) {
|
|
245
|
-
return await this.
|
|
236
|
+
return await this.getAllRecordsWithFields('Events', options);
|
|
246
237
|
}
|
|
247
|
-
async getCalls(options) {
|
|
248
|
-
return await this.getAllRecords('Calls', options);
|
|
249
|
-
}
|
|
250
|
-
// APN Opportunities module methods
|
|
251
238
|
async getAPNOpportunities(options) {
|
|
252
|
-
return await this.
|
|
239
|
+
return await this.getAllRecordsWithFields('APN_Opportunities', options);
|
|
253
240
|
}
|
|
254
241
|
async getAPNOpportunity(opportunityId) {
|
|
255
242
|
return await this.getRecord('APN_Opportunities', opportunityId);
|
|
@@ -311,5 +298,221 @@ export class ZohoCRMClient {
|
|
|
311
298
|
}, 'bulk update APN opportunities');
|
|
312
299
|
return response.data;
|
|
313
300
|
}
|
|
301
|
+
// Get deal stage history for a specific deal
|
|
302
|
+
async getDealStageHistory(dealId, fields) {
|
|
303
|
+
const params = new URLSearchParams();
|
|
304
|
+
// Default fields for stage history if none provided
|
|
305
|
+
const defaultFields = [
|
|
306
|
+
'id',
|
|
307
|
+
'Stage',
|
|
308
|
+
'Previous_Stage',
|
|
309
|
+
'Changed_Time',
|
|
310
|
+
'Changed_By',
|
|
311
|
+
'Duration_Days',
|
|
312
|
+
'Duration_Hours_Minutes',
|
|
313
|
+
];
|
|
314
|
+
const requestFields = fields || defaultFields;
|
|
315
|
+
params.append('fields', requestFields.join(','));
|
|
316
|
+
const response = await this.makeRequest(`/Deals/${dealId}/Stage_History?${params.toString()}`, {}, `get deal ${dealId} stage history`);
|
|
317
|
+
return response.data || [];
|
|
318
|
+
}
|
|
319
|
+
// Get deal stage history with streaming support for large datasets
|
|
320
|
+
createDealStageHistoryStream(dealId, fields) {
|
|
321
|
+
const paginatedFn = async (paginationOptions) => {
|
|
322
|
+
const params = new URLSearchParams();
|
|
323
|
+
// Default fields for stage history if none provided
|
|
324
|
+
const defaultFields = [
|
|
325
|
+
'id',
|
|
326
|
+
'Stage',
|
|
327
|
+
'Previous_Stage',
|
|
328
|
+
'Changed_Time',
|
|
329
|
+
'Changed_By',
|
|
330
|
+
'Duration_Days',
|
|
331
|
+
'Duration_Hours_Minutes',
|
|
332
|
+
];
|
|
333
|
+
const requestFields = fields || defaultFields;
|
|
334
|
+
params.append('fields', requestFields.join(','));
|
|
335
|
+
if (paginationOptions.nextPageToken) {
|
|
336
|
+
params.append('page_token', paginationOptions.nextPageToken);
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
params.append('page', '1');
|
|
340
|
+
}
|
|
341
|
+
if (paginationOptions.pageSize) {
|
|
342
|
+
params.append('per_page', paginationOptions.pageSize.toString());
|
|
343
|
+
}
|
|
344
|
+
const queryString = params.toString();
|
|
345
|
+
const endpoint = `/Deals/${dealId}/Stage_History?${queryString}`;
|
|
346
|
+
const response = await this.makeRequest(endpoint, {}, `get deal ${dealId} stage history page`);
|
|
347
|
+
return {
|
|
348
|
+
items: response.data || [],
|
|
349
|
+
nextPageToken: response.info?.next_page_token,
|
|
350
|
+
};
|
|
351
|
+
};
|
|
352
|
+
return createPaginatedStream(paginatedFn, { pageSize: 200 });
|
|
353
|
+
}
|
|
354
|
+
// Get all stage history records for a deal with automatic pagination
|
|
355
|
+
async getAllDealStageHistory(dealId, maxRecords, fields) {
|
|
356
|
+
console.log(`Starting to fetch stage history for deal ${dealId}...`);
|
|
357
|
+
const stream = this.createDealStageHistoryStream(dealId, fields);
|
|
358
|
+
const allRecords = await firstValueFrom(stream.pipe(toArray()));
|
|
359
|
+
const result = maxRecords ? allRecords.slice(0, maxRecords) : allRecords;
|
|
360
|
+
console.log(`Finished fetching stage history for deal ${dealId}. Total: ${result.length}`);
|
|
361
|
+
return result;
|
|
362
|
+
}
|
|
363
|
+
// Get related list metadata for a module
|
|
364
|
+
async getRelatedListMetadata(module, layoutId) {
|
|
365
|
+
const params = new URLSearchParams();
|
|
366
|
+
params.append('module', module);
|
|
367
|
+
if (layoutId) {
|
|
368
|
+
params.append('layout_id', layoutId);
|
|
369
|
+
}
|
|
370
|
+
const response = await this.makeRequest(`/settings/related_lists?${params.toString()}`, {}, `get related list metadata for ${module}`);
|
|
371
|
+
return response;
|
|
372
|
+
}
|
|
373
|
+
// Get all related record types for a module with detailed information
|
|
374
|
+
async getModuleRelatedRecordTypes(module, layoutId) {
|
|
375
|
+
console.log(`Fetching related record types for module: ${module}`);
|
|
376
|
+
const metadata = await this.getRelatedListMetadata(module, layoutId);
|
|
377
|
+
if (!metadata.related_lists || !Array.isArray(metadata.related_lists)) {
|
|
378
|
+
console.log(`No related lists found for module: ${module}`);
|
|
379
|
+
return [];
|
|
380
|
+
}
|
|
381
|
+
const relatedTypes = metadata.related_lists.map((relatedList) => ({
|
|
382
|
+
api_name: relatedList.api_name,
|
|
383
|
+
display_label: relatedList.display_label,
|
|
384
|
+
module: relatedList.module?.api_name || relatedList.module,
|
|
385
|
+
type: relatedList.type || 'default',
|
|
386
|
+
sequence_number: parseInt(relatedList.sequence_number) || 0,
|
|
387
|
+
href: relatedList.href,
|
|
388
|
+
customization: relatedList.customization || null,
|
|
389
|
+
}));
|
|
390
|
+
console.log(`Found ${relatedTypes.length} related record types for ${module}:`);
|
|
391
|
+
relatedTypes.forEach((type) => {
|
|
392
|
+
console.log(` - ${type.display_label} (${type.api_name}) -> ${type.module}`);
|
|
393
|
+
});
|
|
394
|
+
return relatedTypes;
|
|
395
|
+
}
|
|
396
|
+
// Get related records for a specific record
|
|
397
|
+
async getRelatedRecords(module, recordId, relatedListApiName, options = {}) {
|
|
398
|
+
const params = new URLSearchParams();
|
|
399
|
+
if (options.page)
|
|
400
|
+
params.append('page', options.page.toString());
|
|
401
|
+
if (options.per_page)
|
|
402
|
+
params.append('per_page', options.per_page.toString());
|
|
403
|
+
if (options.fields != null)
|
|
404
|
+
params.append('fields', options.fields.join(','));
|
|
405
|
+
if (options.sort_order)
|
|
406
|
+
params.append('sort_order', options.sort_order);
|
|
407
|
+
if (options.sort_by)
|
|
408
|
+
params.append('sort_by', options.sort_by);
|
|
409
|
+
const queryString = params.toString();
|
|
410
|
+
const endpoint = `/${module}/${recordId}/${relatedListApiName}${queryString ? `?${queryString}` : ''}`;
|
|
411
|
+
return await this.makeRequest(endpoint, {}, `get ${relatedListApiName} related records for ${module} ${recordId}`);
|
|
412
|
+
}
|
|
413
|
+
// Get all related records with automatic pagination
|
|
414
|
+
async getAllRelatedRecords(module, recordId, relatedListApiName, options = {}) {
|
|
415
|
+
console.log(`Fetching all ${relatedListApiName} records related to ${module} ${recordId}...`);
|
|
416
|
+
const allRecords = [];
|
|
417
|
+
let page = 1;
|
|
418
|
+
let hasMore = true;
|
|
419
|
+
const perPage = 200; // Max per page for Zoho CRM
|
|
420
|
+
while (hasMore && (!options.maxRecords || allRecords.length < options.maxRecords)) {
|
|
421
|
+
const response = await this.getRelatedRecords(module, recordId, relatedListApiName, {
|
|
422
|
+
page,
|
|
423
|
+
per_page: perPage,
|
|
424
|
+
fields: options.fields,
|
|
425
|
+
sort_order: options.sort_order,
|
|
426
|
+
sort_by: options.sort_by,
|
|
427
|
+
});
|
|
428
|
+
if (response.data && response.data.length > 0) {
|
|
429
|
+
allRecords.push(...response.data);
|
|
430
|
+
hasMore = response.info?.more_records || false;
|
|
431
|
+
page++;
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
hasMore = false;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
const result = options.maxRecords ? allRecords.slice(0, options.maxRecords) : allRecords;
|
|
438
|
+
console.log(`Finished fetching ${relatedListApiName} related records. Total: ${result.length}`);
|
|
439
|
+
return result;
|
|
440
|
+
}
|
|
441
|
+
// Get pipelines for a specific layout
|
|
442
|
+
async getPipelines(layoutId) {
|
|
443
|
+
const params = new URLSearchParams();
|
|
444
|
+
params.append('layout_id', layoutId);
|
|
445
|
+
const response = await this.makeRequest(`/settings/pipeline?${params.toString()}`, {}, `get pipelines for layout ${layoutId}`);
|
|
446
|
+
return response;
|
|
447
|
+
}
|
|
448
|
+
// Get a specific pipeline by ID
|
|
449
|
+
async getPipeline(pipelineId, layoutId) {
|
|
450
|
+
const params = new URLSearchParams();
|
|
451
|
+
params.append('layout_id', layoutId);
|
|
452
|
+
const response = await this.makeRequest(`/settings/pipeline/${pipelineId}?${params.toString()}`, {}, `get pipeline ${pipelineId} for layout ${layoutId}`);
|
|
453
|
+
return response;
|
|
454
|
+
}
|
|
455
|
+
// Get structured pipeline information with stages
|
|
456
|
+
async getPipelineDetails(layoutId, pipelineId) {
|
|
457
|
+
console.log(`Fetching pipeline details for layout: ${layoutId}${pipelineId ? `, pipeline: ${pipelineId}` : ''}`);
|
|
458
|
+
let response;
|
|
459
|
+
if (pipelineId) {
|
|
460
|
+
response = await this.getPipeline(pipelineId, layoutId);
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
response = await this.getPipelines(layoutId);
|
|
464
|
+
}
|
|
465
|
+
if (!response.pipeline || !Array.isArray(response.pipeline)) {
|
|
466
|
+
console.log(`No pipelines found for layout: ${layoutId}`);
|
|
467
|
+
return [];
|
|
468
|
+
}
|
|
469
|
+
const pipelines = response.pipeline.map((pipeline) => ({
|
|
470
|
+
id: pipeline.id,
|
|
471
|
+
display_value: pipeline.display_value,
|
|
472
|
+
default: pipeline.default || false,
|
|
473
|
+
stages: (pipeline.maps || [])
|
|
474
|
+
.map((stage) => ({
|
|
475
|
+
id: stage.id,
|
|
476
|
+
display_value: stage.display_value,
|
|
477
|
+
sequence_number: parseInt(stage.sequence_number) || 0,
|
|
478
|
+
forecast_category: stage.forecast_category?.name || stage.forecast_category,
|
|
479
|
+
forecast_type: stage.forecast_type,
|
|
480
|
+
probability: stage.probability || 0,
|
|
481
|
+
}))
|
|
482
|
+
.sort((a, b) => a.sequence_number - b.sequence_number),
|
|
483
|
+
}));
|
|
484
|
+
console.log(`Found ${pipelines.length} pipeline(s):`);
|
|
485
|
+
pipelines.forEach((pipeline) => {
|
|
486
|
+
console.log(` - ${pipeline.display_value} (${pipeline.id}) - ${pipeline.stages.length} stages${pipeline.default ? ' [DEFAULT]' : ''}`);
|
|
487
|
+
});
|
|
488
|
+
return pipelines;
|
|
489
|
+
}
|
|
490
|
+
// Get deals layout ID (helper function since pipelines require layout_id)
|
|
491
|
+
async getDealsLayoutId() {
|
|
492
|
+
try {
|
|
493
|
+
const layouts = (await this.makeRequest('/settings/layouts?module=Deals', {}, 'get deals layouts'));
|
|
494
|
+
if (layouts.layouts && layouts.layouts.length > 0) {
|
|
495
|
+
const defaultLayout = layouts.layouts.find((layout) => layout.name === 'Standard' || layout.default);
|
|
496
|
+
const layoutId = defaultLayout?.id || layouts.layouts[0].id;
|
|
497
|
+
console.log(`Using Deals layout ID: ${layoutId} (${defaultLayout?.name || layouts.layouts[0].name})`);
|
|
498
|
+
return layoutId;
|
|
499
|
+
}
|
|
500
|
+
throw new Error('No layouts found for Deals module');
|
|
501
|
+
}
|
|
502
|
+
catch (error) {
|
|
503
|
+
console.error('Failed to get Deals layout ID:', error);
|
|
504
|
+
throw error;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
// Convenience method to get pipelines for Deals module
|
|
508
|
+
async getDealsPipelines() {
|
|
509
|
+
const layoutId = await this.getDealsLayoutId();
|
|
510
|
+
return await this.getPipelineDetails(layoutId);
|
|
511
|
+
}
|
|
512
|
+
// Get a specific deals pipeline
|
|
513
|
+
async getDealsPipeline(pipelineId) {
|
|
514
|
+
const layoutId = await this.getDealsLayoutId();
|
|
515
|
+
return await this.getPipelineDetails(layoutId, pipelineId);
|
|
516
|
+
}
|
|
314
517
|
}
|
|
315
518
|
//# sourceMappingURL=zoho-crm-client.js.map
|