@ingeno/pipedream-services 1.0.55

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 (115) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -0
  3. package/dist/aws/apn/index.d.ts +3 -0
  4. package/dist/aws/apn/index.d.ts.map +1 -0
  5. package/dist/aws/apn/index.js +3 -0
  6. package/dist/aws/apn/index.js.map +1 -0
  7. package/dist/aws/apn/partner-central-client.d.ts +39 -0
  8. package/dist/aws/apn/partner-central-client.d.ts.map +1 -0
  9. package/dist/aws/apn/partner-central-client.js +135 -0
  10. package/dist/aws/apn/partner-central-client.js.map +1 -0
  11. package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.d.ts +20 -0
  12. package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.d.ts.map +1 -0
  13. package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.js +51 -0
  14. package/dist/aws/apn/zoho-crm/apn-opportunities-sync-step.js.map +1 -0
  15. package/dist/aws/apn/zoho-crm/apn-opportunities-sync.d.ts +42 -0
  16. package/dist/aws/apn/zoho-crm/apn-opportunities-sync.d.ts.map +1 -0
  17. package/dist/aws/apn/zoho-crm/apn-opportunities-sync.js +147 -0
  18. package/dist/aws/apn/zoho-crm/apn-opportunities-sync.js.map +1 -0
  19. package/dist/aws/apn/zoho-crm/index.d.ts +7 -0
  20. package/dist/aws/apn/zoho-crm/index.d.ts.map +1 -0
  21. package/dist/aws/apn/zoho-crm/index.js +7 -0
  22. package/dist/aws/apn/zoho-crm/index.js.map +1 -0
  23. package/dist/aws/apn/zoho-crm/opportunity-matcher.d.ts +38 -0
  24. package/dist/aws/apn/zoho-crm/opportunity-matcher.d.ts.map +1 -0
  25. package/dist/aws/apn/zoho-crm/opportunity-matcher.js +93 -0
  26. package/dist/aws/apn/zoho-crm/opportunity-matcher.js.map +1 -0
  27. package/dist/aws/apn/zoho-crm/opportunity-transformer.d.ts +35 -0
  28. package/dist/aws/apn/zoho-crm/opportunity-transformer.d.ts.map +1 -0
  29. package/dist/aws/apn/zoho-crm/opportunity-transformer.js +139 -0
  30. package/dist/aws/apn/zoho-crm/opportunity-transformer.js.map +1 -0
  31. package/dist/aws/apn/zoho-crm/sync-orchestrator.d.ts +34 -0
  32. package/dist/aws/apn/zoho-crm/sync-orchestrator.d.ts.map +1 -0
  33. package/dist/aws/apn/zoho-crm/sync-orchestrator.js +104 -0
  34. package/dist/aws/apn/zoho-crm/sync-orchestrator.js.map +1 -0
  35. package/dist/aws/apn/zoho-crm/types.d.ts +22 -0
  36. package/dist/aws/apn/zoho-crm/types.d.ts.map +1 -0
  37. package/dist/aws/apn/zoho-crm/types.js +2 -0
  38. package/dist/aws/apn/zoho-crm/types.js.map +1 -0
  39. package/dist/aws/aws-cost.d.ts +33 -0
  40. package/dist/aws/aws-cost.d.ts.map +1 -0
  41. package/dist/aws/aws-cost.js +88 -0
  42. package/dist/aws/aws-cost.js.map +1 -0
  43. package/dist/aws/commands.d.ts +12 -0
  44. package/dist/aws/commands.d.ts.map +1 -0
  45. package/dist/aws/commands.js +52 -0
  46. package/dist/aws/commands.js.map +1 -0
  47. package/dist/aws/execute-as.d.ts +42 -0
  48. package/dist/aws/execute-as.d.ts.map +1 -0
  49. package/dist/aws/execute-as.js +85 -0
  50. package/dist/aws/execute-as.js.map +1 -0
  51. package/dist/aws/index.d.ts +4 -0
  52. package/dist/aws/index.d.ts.map +1 -0
  53. package/dist/aws/index.js +4 -0
  54. package/dist/aws/index.js.map +1 -0
  55. package/dist/collections/collections-summary.d.ts +3 -0
  56. package/dist/collections/collections-summary.d.ts.map +1 -0
  57. package/dist/collections/collections-summary.js +7 -0
  58. package/dist/collections/collections-summary.js.map +1 -0
  59. package/dist/collections/collections-to-table.d.ts +6 -0
  60. package/dist/collections/collections-to-table.d.ts.map +1 -0
  61. package/dist/collections/collections-to-table.js +80 -0
  62. package/dist/collections/collections-to-table.js.map +1 -0
  63. package/dist/collections/index.d.ts +4 -0
  64. package/dist/collections/index.d.ts.map +1 -0
  65. package/dist/collections/index.js +4 -0
  66. package/dist/collections/index.js.map +1 -0
  67. package/dist/collections/types.d.ts +23 -0
  68. package/dist/collections/types.d.ts.map +1 -0
  69. package/dist/collections/types.js +2 -0
  70. package/dist/collections/types.js.map +1 -0
  71. package/dist/date/date-range.d.ts +7 -0
  72. package/dist/date/date-range.d.ts.map +1 -0
  73. package/dist/date/date-range.js +16 -0
  74. package/dist/date/date-range.js.map +1 -0
  75. package/dist/date/index.d.ts +2 -0
  76. package/dist/date/index.d.ts.map +1 -0
  77. package/dist/date/index.js +2 -0
  78. package/dist/date/index.js.map +1 -0
  79. package/dist/index.d.ts +8 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +8 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/postgres/index.d.ts +2 -0
  84. package/dist/postgres/index.d.ts.map +1 -0
  85. package/dist/postgres/index.js +2 -0
  86. package/dist/postgres/index.js.map +1 -0
  87. package/dist/postgres/postgres.d.ts +15 -0
  88. package/dist/postgres/postgres.d.ts.map +1 -0
  89. package/dist/postgres/postgres.js +92 -0
  90. package/dist/postgres/postgres.js.map +1 -0
  91. package/dist/streams/list-stream.d.ts +12 -0
  92. package/dist/streams/list-stream.d.ts.map +1 -0
  93. package/dist/streams/list-stream.js +14 -0
  94. package/dist/streams/list-stream.js.map +1 -0
  95. package/dist/temporary-files.d.ts +3 -0
  96. package/dist/temporary-files.d.ts.map +1 -0
  97. package/dist/temporary-files.js +14 -0
  98. package/dist/temporary-files.js.map +1 -0
  99. package/dist/zoho-crm/index.d.ts +7 -0
  100. package/dist/zoho-crm/index.d.ts.map +1 -0
  101. package/dist/zoho-crm/index.js +7 -0
  102. package/dist/zoho-crm/index.js.map +1 -0
  103. package/dist/zoho-crm/module-processor.d.ts +8 -0
  104. package/dist/zoho-crm/module-processor.d.ts.map +1 -0
  105. package/dist/zoho-crm/module-processor.js +118 -0
  106. package/dist/zoho-crm/module-processor.js.map +1 -0
  107. package/dist/zoho-crm/zoho-auth.d.ts +22 -0
  108. package/dist/zoho-crm/zoho-auth.d.ts.map +1 -0
  109. package/dist/zoho-crm/zoho-auth.js +92 -0
  110. package/dist/zoho-crm/zoho-auth.js.map +1 -0
  111. package/dist/zoho-crm/zoho-crm-client.d.ts +76 -0
  112. package/dist/zoho-crm/zoho-crm-client.d.ts.map +1 -0
  113. package/dist/zoho-crm/zoho-crm-client.js +303 -0
  114. package/dist/zoho-crm/zoho-crm-client.js.map +1 -0
  115. package/package.json +85 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/postgres/postgres.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,MAAM,IAAI,CAAA;AAKnB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AAgBrB,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,OAAyB,EAAE,EAAE;IAE5D,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IAClD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;IAE/B,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;IAEzE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAE1F,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,gBAAgB;YAC1B,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;SACd,CAAA;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,MAAM,CAAA;IACpD,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAA;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,IAAI,KAAK,GAAG,8BAA8B,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAA;QAEtE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACpC,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;YACjC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,IAAI,SAAS,CAAA;YACtB,CAAC;YACD,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3B,KAAK,IAAI,QAAQ,CAAA;QAEjB,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1E,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAE1E,MAAM,0BAA0B,GAAG;YACjC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,wBAAwB,SAAS,EAAE,EAAE,sBAAsB,CAAC;YACzE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,sBAAsB,EAAE,eAAe,SAAS,EAAE,CAAC;YACrE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,sBAAsB,CAAC;SACrC,CAAA;QAED,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,sBAAsB,EAAE,eAAe,SAAS,UAAU,WAAW,EAAE,CAAC,CAAA;QAEnG,MAAM,UAAU,GAAG,CAAC,0BAA0B,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,EAAE,CAAA;QAC7E,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAClC,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAA;YAC1C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC5B,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAa,EAAE,EAAE;QAC5D,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACjG,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAEtC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,mBAAmB,SAAS,GAAG,CAAC,CAAA;QAEpE,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QAChF,MAAM,KAAK,GAAG,eAAe,SAAS,KAAK,YAAY,gBAAgB,MAAM,uCAAuC,YAAY,QAAQ,MAAM,IAAI,CAAA;QAElJ,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;QAErC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAEzE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,MAAM,mBAAmB,SAAS,GAAG,CAAC,CAAA;QAE/D,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,OAAO,CAAC,GAAG,CACT,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAa,EAAE,EAAE;QACnD,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,MAAM,YAAY,CAAC,MAAM,CAAC,CAAA;QAC1B,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAC,CACH,CAAA;IAEH,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,MAAM,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;IACtB,IAAI,CAAC;QACH,MAAM,UAAU,EAAE,CAAA;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,GAAG,EAAE,CAAA;IACpB,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Observable } from 'rxjs';
2
+ export interface PaginationOptions {
3
+ pageSize?: number;
4
+ nextPageToken?: string;
5
+ }
6
+ export interface PaginatedResult<T> {
7
+ items: T[];
8
+ nextPageToken?: string;
9
+ }
10
+ export type PaginatedFunction<T> = (options: PaginationOptions) => Promise<PaginatedResult<T>>;
11
+ export declare const createPaginatedStream: <T>(fn: PaginatedFunction<T>, options: Omit<PaginationOptions, "nextPageToken">) => Observable<T>;
12
+ //# sourceMappingURL=list-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-stream.d.ts","sourceRoot":"","sources":["../../src/streams/list-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAE,MAAM,MAAM,CAAC;AAG/C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAC7B,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAM9D,eAAO,MAAM,qBAAqB,GAAI,CAAC,EACrC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EACxB,SAAS,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,KAChD,UAAU,CAAC,CAAC,CAYd,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { from, EMPTY } from 'rxjs';
2
+ import { expand, concatMap } from 'rxjs/operators';
3
+ const asOptions = (baseOptions, nextPageToken) => {
4
+ return { ...baseOptions, nextPageToken };
5
+ };
6
+ export const createPaginatedStream = (fn, options) => {
7
+ const initialOptions = asOptions(options);
8
+ return from(fn(initialOptions)).pipe(expand((result) => {
9
+ return result.nextPageToken
10
+ ? from(fn(asOptions(options, result.nextPageToken)))
11
+ : EMPTY;
12
+ }), concatMap((result) => from(result.items)));
13
+ };
14
+ //# sourceMappingURL=list-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-stream.js","sourceRoot":"","sources":["../../src/streams/list-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAc,MAAM,MAAM,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAenD,MAAM,SAAS,GAAG,CAAC,WAAqD,EAAE,aAAsB,EAAqB,EAAE;IACrH,OAAO,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,EAAwB,EACxB,OAAiD,EAClC,EAAE;IAEjB,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAE1C,OAAO,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAClC,MAAM,CAAC,CAAC,MAA0B,EAAE,EAAE;QACpC,OAAO,MAAM,CAAC,aAAa;YACzB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC,EACF,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const readObjectFromTmpFile: (path: string) => Promise<any>;
2
+ export declare const saveObjectToTmpFile: (object: any) => Promise<string>;
3
+ //# sourceMappingURL=temporary-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporary-files.d.ts","sourceRoot":"","sources":["../src/temporary-files.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,GAAU,MAAM,MAAM,iBAKvD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,QAAQ,GAAG,oBAIpD,CAAA"}
@@ -0,0 +1,14 @@
1
+ import fs from 'fs';
2
+ import { file } from 'tmp-promise';
3
+ export const readObjectFromTmpFile = async (path) => {
4
+ console.log(`Reading file: ${path}`);
5
+ const buffer = await fs.promises.readFile(path);
6
+ const content = buffer.toString();
7
+ return JSON.parse(content);
8
+ };
9
+ export const saveObjectToTmpFile = async (object) => {
10
+ const { path } = await file({ postfix: '.json' });
11
+ await fs.promises.appendFile(path, Buffer.from(JSON.stringify(object, null, 2)));
12
+ return path;
13
+ };
14
+ //# sourceMappingURL=temporary-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporary-files.js","sourceRoot":"","sources":["../src/temporary-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC1D,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IACjD,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Zoho CRM integration utilities for Pipedream workflows
3
+ */
4
+ export * from './zoho-crm-client.js';
5
+ export * from './zoho-auth.js';
6
+ export * from './module-processor.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zoho-crm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Zoho CRM integration utilities for Pipedream workflows
3
+ */
4
+ export * from './zoho-crm-client.js';
5
+ export * from './zoho-auth.js';
6
+ export * from './module-processor.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/zoho-crm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { ZohoCRMClient, ZohoCRMRecord } from './zoho-crm-client.js';
2
+ import { Collection, CollectionSchema } from '../collections/types.js';
3
+ export interface ModuleProcessorOptions {
4
+ maxRecords?: number;
5
+ }
6
+ export declare function generateSchemaFromRecords(records: ZohoCRMRecord[], schemaName: string): CollectionSchema;
7
+ export declare function processModule(moduleName: string, client: ZohoCRMClient, options?: ModuleProcessorOptions): Promise<Collection>;
8
+ //# sourceMappingURL=module-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-processor.d.ts","sourceRoot":"","sources":["../../src/zoho-crm/module-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAA;AAE1F,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAGD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAiGxG;AAGD,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,UAAU,CAAC,CA+BrB"}
@@ -0,0 +1,118 @@
1
+ // Helper function to dynamically generate schema from Zoho CRM records
2
+ export function generateSchemaFromRecords(records, schemaName) {
3
+ if (!records || records.length === 0) {
4
+ return {
5
+ name: schemaName,
6
+ prepareMode: 'drop',
7
+ columns: [
8
+ { name: "id", type: "id" },
9
+ { name: "raw_data", transform: (record) => JSON.stringify(record) }
10
+ ]
11
+ };
12
+ }
13
+ const allFields = new Set();
14
+ // Collect all field names from all records
15
+ records.forEach(record => {
16
+ Object.keys(record).forEach(key => {
17
+ allFields.add(key);
18
+ });
19
+ });
20
+ // Convert field names to database column definitions
21
+ const columns = [
22
+ { name: "id", type: "id" }
23
+ ];
24
+ // Sort fields for consistent ordering
25
+ const sortedFields = Array.from(allFields).sort();
26
+ sortedFields.forEach(field => {
27
+ // Skip the 'id' field from Zoho as we handle it separately
28
+ if (field === 'id') {
29
+ columns.push({ name: "record_id", path: "id" });
30
+ return;
31
+ }
32
+ const columnName = field.toLowerCase().replace(/[^a-z0-9_]/g, '_');
33
+ // Determine data type based on field name patterns and sample data
34
+ let type = "text";
35
+ // Check field name patterns
36
+ if (field.includes('Date') || field.includes('Time') || field.includes('_time')) {
37
+ type = field.includes('Date') && !field.includes('Time') ? "date" : "datetime";
38
+ }
39
+ else if (field.includes('Amount') || field.includes('Revenue') || field.includes('_amount')) {
40
+ type = "currency";
41
+ }
42
+ else if (field.includes('Probability') || field.includes('Rate') || field.includes('_rate') || field.includes('_number')) {
43
+ type = "number";
44
+ }
45
+ else if (field.includes('Opt_Out') || field.includes('_opt_out') || field.includes('converted')) {
46
+ type = "bool";
47
+ }
48
+ // Sample the data to refine type detection
49
+ const sampleValues = records.slice(0, 10).map(record => record[field]).filter(val => val !== null && val !== undefined && val !== '');
50
+ if (sampleValues.length > 0) {
51
+ const sampleValue = sampleValues[0];
52
+ if (typeof sampleValue === 'boolean') {
53
+ type = "bool";
54
+ }
55
+ else if (typeof sampleValue === 'number') {
56
+ type = "number";
57
+ }
58
+ else if (typeof sampleValue === 'object' && sampleValue !== null) {
59
+ // Handle nested objects (like Owner, Account_Name, etc.)
60
+ if (sampleValue.name) {
61
+ columns.push({ name: `${columnName}_name`, path: `${field}.name` });
62
+ }
63
+ if (sampleValue.id) {
64
+ columns.push({ name: `${columnName}_id`, path: `${field}.id` });
65
+ }
66
+ if (sampleValue.email) {
67
+ columns.push({ name: `${columnName}_email`, path: `${field}.email` });
68
+ }
69
+ return; // Skip adding the main field since we're handling nested properties
70
+ }
71
+ else if (typeof sampleValue === 'string') {
72
+ // Check if it's a valid date/timestamp string
73
+ if (type === 'date' || type === 'datetime') {
74
+ // Try to parse the date to validate it's a proper timestamp
75
+ const date = new Date(sampleValue);
76
+ if (isNaN(date.getTime())) {
77
+ // Invalid date, treat as text
78
+ type = "text";
79
+ }
80
+ }
81
+ }
82
+ }
83
+ columns.push({ name: columnName, path: field, type });
84
+ });
85
+ // Always add raw_data column for full JSON
86
+ columns.push({ name: "raw_data", transform: (record) => JSON.stringify(record) });
87
+ return {
88
+ name: schemaName,
89
+ prepareMode: 'drop',
90
+ columns
91
+ };
92
+ }
93
+ // Generic function to process any Zoho CRM module
94
+ export async function processModule(moduleName, client, options = {}) {
95
+ const { maxRecords } = options;
96
+ console.log(`Processing module: ${moduleName}`);
97
+ // Get the appropriate method for this module
98
+ const methodName = `get${moduleName}`;
99
+ const method = client[methodName];
100
+ if (!method || typeof method !== 'function') {
101
+ throw new Error(`No method found for module: ${moduleName}`);
102
+ }
103
+ // Fetch records using the client method
104
+ const records = await method.call(client, { maxRecords: maxRecords || undefined });
105
+ // Generate schema from the records
106
+ const schema = generateSchemaFromRecords(records, moduleName.toLowerCase());
107
+ // Create collection with manually assigned IDs
108
+ const collection = {
109
+ schema,
110
+ objects: records.map((record, index) => ({
111
+ id: index + 1,
112
+ ...record
113
+ }))
114
+ };
115
+ console.log(`Processed ${records.length} records for module: ${moduleName}`);
116
+ return collection;
117
+ }
118
+ //# sourceMappingURL=module-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-processor.js","sourceRoot":"","sources":["../../src/zoho-crm/module-processor.ts"],"names":[],"mappings":"AAOA,uEAAuE;AACvE,MAAM,UAAU,yBAAyB,CAAC,OAAwB,EAAE,UAAkB;IACpF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1B,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;aACpE;SACF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IAEnC,2CAA2C;IAC3C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAChC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,qDAAqD;IACrD,MAAM,OAAO,GAAa;QACxB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3B,CAAA;IAED,sCAAsC;IACtC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;IAEjD,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC3B,2DAA2D;QAC3D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;QAElE,mEAAmE;QACnE,IAAI,IAAI,GAAe,MAAM,CAAA;QAE7B,4BAA4B;QAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChF,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA;QAChF,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9F,IAAI,GAAG,UAAU,CAAA;QACnB,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3H,IAAI,GAAG,QAAQ,CAAA;QACjB,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAClG,IAAI,GAAG,MAAM,CAAA;QACf,CAAC;QAED,2CAA2C;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC,CAAA;QACrI,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;YAEnC,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,GAAG,MAAM,CAAA;YACf,CAAC;iBAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC3C,IAAI,GAAG,QAAQ,CAAA;YACjB,CAAC;iBAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACnE,yDAAyD;gBACzD,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;oBACrB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;gBACrE,CAAC;gBACD,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,CAAA;gBACjE,CAAC;gBACD,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,QAAQ,EAAE,CAAC,CAAA;gBACvE,CAAC;gBACD,OAAM,CAAC,oEAAoE;YAC7E,CAAC;iBAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC3C,8CAA8C;gBAC9C,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC3C,4DAA4D;oBAC5D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAA;oBAClC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBAC1B,8BAA8B;wBAC9B,IAAI,GAAG,MAAM,CAAA;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,2CAA2C;IAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAEtF,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,MAAM;QACnB,OAAO;KACR,CAAA;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,MAAqB,EACrB,UAAkC,EAAE;IAEpC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAE9B,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAA;IAE/C,6CAA6C;IAC7C,MAAM,UAAU,GAAG,MAAM,UAAU,EAAyB,CAAA;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAa,CAAA;IAE7C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,wCAAwC;IACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC,CAAA;IAElF,mCAAmC;IACnC,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;IAE3E,+CAA+C;IAC/C,MAAM,UAAU,GAAe;QAC7B,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;YACpD,EAAE,EAAE,KAAK,GAAG,CAAC;YACb,GAAG,MAAM;SACV,CAAC,CAAC;KACJ,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,MAAM,wBAAwB,UAAU,EAAE,CAAC,CAAA;IAE5E,OAAO,UAAU,CAAA;AACnB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export interface ZohoCredentials {
2
+ base_api_uri: string;
3
+ accounts_server: string;
4
+ api_domain: string;
5
+ oauth_client_id: string;
6
+ oauth_access_token: string;
7
+ oauth_refresh_token: string;
8
+ oauth_uid: string;
9
+ }
10
+ export declare class ZohoAuth {
11
+ private credentials;
12
+ private cachedToken;
13
+ constructor(credentials: ZohoCredentials);
14
+ getAccessToken(): Promise<string>;
15
+ private refreshAccessToken;
16
+ private makeTokenRequest;
17
+ forceRefreshToken(): Promise<string>;
18
+ getTokenInfo(): any;
19
+ isCurrentTokenValid(): boolean;
20
+ getApiDomain(): string;
21
+ }
22
+ //# sourceMappingURL=zoho-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoho-auth.d.ts","sourceRoot":"","sources":["../../src/zoho-crm/zoho-auth.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB;AAQD,qBAAa,QAAQ;IACnB,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,WAAW,CAA2B;gBAElC,WAAW,EAAE,eAAe;IAKlC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;YAczB,kBAAkB;YAsBlB,gBAAgB;IA0CxB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAS1C,YAAY,IAAI,GAAG;IAKnB,mBAAmB,IAAI,OAAO;IAK9B,YAAY,IAAI,MAAM;CAGvB"}
@@ -0,0 +1,92 @@
1
+ export class ZohoAuth {
2
+ credentials;
3
+ cachedToken = null;
4
+ constructor(credentials) {
5
+ this.credentials = credentials;
6
+ }
7
+ // Get a fresh access token using refresh token
8
+ async getAccessToken() {
9
+ // Check if we have a cached token that's still valid
10
+ if (this.cachedToken && this.cachedToken.expires_at > new Date()) {
11
+ const expiresIn = Math.floor((this.cachedToken.expires_at.getTime() - Date.now()) / (60 * 1000));
12
+ console.log(`✅ Using cached access token (expires in ${expiresIn} minutes)`);
13
+ return this.cachedToken.access_token;
14
+ }
15
+ // Use the existing access token from credentials
16
+ console.log(`✅ Using existing access token from credentials`);
17
+ return this.credentials.oauth_access_token;
18
+ }
19
+ // Refresh the access token using refresh token
20
+ async refreshAccessToken() {
21
+ console.log(`🚀 Requesting new access token via Zoho OAuth2...`);
22
+ console.log(`🔧 Using refresh token: ${this.credentials.oauth_refresh_token.substring(0, 20)}...`);
23
+ const url = `${this.credentials.accounts_server}/oauth/v2/token`;
24
+ // Try first with client secret if available
25
+ let params = new URLSearchParams({
26
+ refresh_token: this.credentials.oauth_refresh_token,
27
+ client_id: this.credentials.oauth_client_id,
28
+ grant_type: 'refresh_token'
29
+ });
30
+ try {
31
+ return await this.makeTokenRequest(url, params);
32
+ }
33
+ catch (error) {
34
+ console.error(`❌ Error refreshing token with client secret: ${error.message}`);
35
+ throw error;
36
+ }
37
+ }
38
+ // Helper method to make token request
39
+ async makeTokenRequest(url, params) {
40
+ console.log(`🔧 Making POST request to: ${url}`);
41
+ console.log(`🔧 Request params: ${params.toString()}`);
42
+ const response = await fetch(url, {
43
+ method: 'POST',
44
+ headers: {
45
+ 'Content-Type': 'application/x-www-form-urlencoded'
46
+ },
47
+ body: params.toString()
48
+ });
49
+ const responseText = await response.text();
50
+ console.log(`🔧 Raw response: ${responseText}`);
51
+ if (!response.ok) {
52
+ throw new Error(`HTTP ${response.status}: ${responseText}`);
53
+ }
54
+ const data = JSON.parse(responseText);
55
+ console.log(`🔧 Parsed response:`, data);
56
+ if (data.error) {
57
+ throw new Error(`Zoho OAuth error: ${data.error}`);
58
+ }
59
+ if (!data.access_token) {
60
+ throw new Error(`No access token received: ${JSON.stringify(data)}`);
61
+ }
62
+ // Cache the token
63
+ this.cachedToken = {
64
+ access_token: data.access_token,
65
+ expires_at: new Date(Date.now() + (data.expires_in ? data.expires_in * 1000 : 3600000)),
66
+ token_type: data.token_type || 'Bearer'
67
+ };
68
+ console.log(`✅ Token refresh successful via Zoho API`);
69
+ return data.access_token;
70
+ }
71
+ // Force refresh the token (ignores cache)
72
+ async forceRefreshToken() {
73
+ console.log(`🔄 Force refreshing access token...`);
74
+ this.cachedToken = null; // Clear cache
75
+ const token = await this.getAccessToken();
76
+ console.log(`🔄 Force refresh completed, token: ${token.substring(0, 20)}...`);
77
+ return token;
78
+ }
79
+ // Get token info (for debugging)
80
+ getTokenInfo() {
81
+ return this.cachedToken || null;
82
+ }
83
+ // Check if current token is valid
84
+ isCurrentTokenValid() {
85
+ return this.cachedToken ? this.cachedToken.expires_at > new Date() : false;
86
+ }
87
+ // Get the API domain for CRM requests
88
+ getApiDomain() {
89
+ return this.credentials.api_domain;
90
+ }
91
+ }
92
+ //# sourceMappingURL=zoho-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoho-auth.js","sourceRoot":"","sources":["../../src/zoho-crm/zoho-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { AxiosRequestConfig } from 'axios';
2
+ export interface ZohoCRMConfig {
3
+ accessToken: string;
4
+ apiDomain: string;
5
+ }
6
+ export interface ZohoCRMRecord {
7
+ id: string;
8
+ [key: string]: any;
9
+ }
10
+ export interface ZohoCRMResponse<T = any> {
11
+ data: T[];
12
+ info: {
13
+ count: number;
14
+ page: number;
15
+ per_page: number;
16
+ more_records: boolean;
17
+ next_page_token?: string;
18
+ };
19
+ }
20
+ export declare class ZohoCRMClient {
21
+ private accessToken;
22
+ private baseURL;
23
+ private limiter;
24
+ constructor(config: ZohoCRMConfig);
25
+ makeRequest<T>(endpoint: string, options?: AxiosRequestConfig, operationName?: string): Promise<T>;
26
+ getRecord(module: string, recordId: string): Promise<ZohoCRMRecord>;
27
+ getRecords(module: string, options?: {
28
+ page?: number;
29
+ per_page?: number;
30
+ sort_order?: 'asc' | 'desc';
31
+ sort_by?: string;
32
+ fields?: string[];
33
+ criteria?: string;
34
+ }): Promise<ZohoCRMResponse<ZohoCRMRecord>>;
35
+ getAllRecords(module: string, options?: {
36
+ per_page?: number;
37
+ sort_order?: 'asc' | 'desc';
38
+ sort_by?: string;
39
+ fields?: string[];
40
+ criteria?: string;
41
+ maxRecords?: number;
42
+ }): Promise<ZohoCRMRecord[]>;
43
+ createRecord(module: string, data: Partial<ZohoCRMRecord>): Promise<ZohoCRMRecord>;
44
+ updateRecord(module: string, recordId: string, data: Partial<ZohoCRMRecord>): Promise<ZohoCRMRecord>;
45
+ deleteRecord(module: string, recordId: string): Promise<boolean>;
46
+ searchRecords(module: string, criteria: string, options?: {
47
+ page?: number;
48
+ per_page?: number;
49
+ fields?: string[];
50
+ }): Promise<ZohoCRMResponse<ZohoCRMRecord>>;
51
+ getModuleMetadata(module: string): Promise<any>;
52
+ getModuleFields(module: string): Promise<any>;
53
+ getModules(): Promise<any[]>;
54
+ getAllFieldNames(module: string): Promise<string[]>;
55
+ getLeads(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
56
+ getContacts(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
57
+ getAccounts(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
58
+ getDeals(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
59
+ getTasks(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
60
+ getEvents(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
61
+ getCalls(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
62
+ getAPNOpportunities(options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
63
+ getAPNOpportunity(opportunityId: string): Promise<ZohoCRMRecord>;
64
+ createAPNOpportunity(data: Partial<ZohoCRMRecord>): Promise<ZohoCRMRecord>;
65
+ updateAPNOpportunity(opportunityId: string, data: Partial<ZohoCRMRecord>): Promise<ZohoCRMRecord>;
66
+ deleteAPNOpportunity(opportunityId: string): Promise<boolean>;
67
+ searchAPNOpportunities(criteria: string, options?: Parameters<typeof this.searchRecords>[2]): Promise<ZohoCRMResponse<ZohoCRMRecord>>;
68
+ getAPNOpportunitiesByStatus(status: string, options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
69
+ getAPNOpportunitiesByType(type: string, options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
70
+ getAPNOpportunitiesByDateRange(startDate: string, endDate: string, options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
71
+ getAPNOpportunitiesByCustomerName(customerName: string, options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
72
+ getRecentAPNOpportunities(days?: number, options?: Parameters<typeof this.getAllRecords>[1]): Promise<ZohoCRMRecord[]>;
73
+ bulkCreateAPNOpportunities(opportunities: Partial<ZohoCRMRecord>[]): Promise<ZohoCRMRecord[]>;
74
+ bulkUpdateAPNOpportunities(opportunities: Partial<ZohoCRMRecord>[]): Promise<ZohoCRMRecord[]>;
75
+ }
76
+ //# sourceMappingURL=zoho-crm-client.d.ts.map
@@ -0,0 +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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"}