n8n-nodes-smartsuite 2.0.6

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 (178) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +163 -0
  3. package/dist/credentials/SmartSuiteApi.credentials.d.ts +8 -0
  4. package/dist/credentials/SmartSuiteApi.credentials.js +38 -0
  5. package/dist/credentials/SmartSuiteApi.credentials.js.map +1 -0
  6. package/dist/credentials/SmartSuiteApi.svg +6 -0
  7. package/dist/index.d.ts +3 -0
  8. package/dist/index.js +12 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/nodes/SmartSuite/SmartSuite.node.d.ts +27 -0
  11. package/dist/nodes/SmartSuite/SmartSuite.node.js +108 -0
  12. package/dist/nodes/SmartSuite/SmartSuite.node.js.map +1 -0
  13. package/dist/nodes/SmartSuite/SmartSuite.node.json +48 -0
  14. package/dist/nodes/SmartSuite/SmartSuiteTrigger.node.d.ts +23 -0
  15. package/dist/nodes/SmartSuite/SmartSuiteTrigger.node.js +173 -0
  16. package/dist/nodes/SmartSuite/SmartSuiteTrigger.node.js.map +1 -0
  17. package/dist/nodes/SmartSuite/SmartSuiteTrigger.node.json +14 -0
  18. package/dist/nodes/SmartSuite/__tests__/actions/api/makeApiRequest.test.d.ts +1 -0
  19. package/dist/nodes/SmartSuite/__tests__/actions/api/makeApiRequest.test.js +74 -0
  20. package/dist/nodes/SmartSuite/__tests__/actions/api/makeApiRequest.test.js.map +1 -0
  21. package/dist/nodes/SmartSuite/__tests__/actions/orgManagement/getCurrentUser.test.d.ts +1 -0
  22. package/dist/nodes/SmartSuite/__tests__/actions/orgManagement/getCurrentUser.test.js +22 -0
  23. package/dist/nodes/SmartSuite/__tests__/actions/orgManagement/getCurrentUser.test.js.map +1 -0
  24. package/dist/nodes/SmartSuite/__tests__/actions/orgManagement/listMembers.test.d.ts +1 -0
  25. package/dist/nodes/SmartSuite/__tests__/actions/orgManagement/listMembers.test.js +70 -0
  26. package/dist/nodes/SmartSuite/__tests__/actions/orgManagement/listMembers.test.js.map +1 -0
  27. package/dist/nodes/SmartSuite/__tests__/actions/orgManagement/listTeams.test.d.ts +1 -0
  28. package/dist/nodes/SmartSuite/__tests__/actions/orgManagement/listTeams.test.js +43 -0
  29. package/dist/nodes/SmartSuite/__tests__/actions/orgManagement/listTeams.test.js.map +1 -0
  30. package/dist/nodes/SmartSuite/__tests__/actions/record/createRecord.test.d.ts +1 -0
  31. package/dist/nodes/SmartSuite/__tests__/actions/record/createRecord.test.js +178 -0
  32. package/dist/nodes/SmartSuite/__tests__/actions/record/createRecord.test.js.map +1 -0
  33. package/dist/nodes/SmartSuite/__tests__/actions/record/deleteRecord.test.d.ts +1 -0
  34. package/dist/nodes/SmartSuite/__tests__/actions/record/deleteRecord.test.js +159 -0
  35. package/dist/nodes/SmartSuite/__tests__/actions/record/deleteRecord.test.js.map +1 -0
  36. package/dist/nodes/SmartSuite/__tests__/actions/record/getRecord.test.d.ts +1 -0
  37. package/dist/nodes/SmartSuite/__tests__/actions/record/getRecord.test.js +127 -0
  38. package/dist/nodes/SmartSuite/__tests__/actions/record/getRecord.test.js.map +1 -0
  39. package/dist/nodes/SmartSuite/__tests__/actions/record/listRecord.test.d.ts +1 -0
  40. package/dist/nodes/SmartSuite/__tests__/actions/record/listRecord.test.js +162 -0
  41. package/dist/nodes/SmartSuite/__tests__/actions/record/listRecord.test.js.map +1 -0
  42. package/dist/nodes/SmartSuite/__tests__/actions/record/searchRecord.test.d.ts +1 -0
  43. package/dist/nodes/SmartSuite/__tests__/actions/record/searchRecord.test.js +210 -0
  44. package/dist/nodes/SmartSuite/__tests__/actions/record/searchRecord.test.js.map +1 -0
  45. package/dist/nodes/SmartSuite/__tests__/actions/record/updateRecord.test.d.ts +1 -0
  46. package/dist/nodes/SmartSuite/__tests__/actions/record/updateRecord.test.js +198 -0
  47. package/dist/nodes/SmartSuite/__tests__/actions/record/updateRecord.test.js.map +1 -0
  48. package/dist/nodes/SmartSuite/__tests__/actions/record/upsertRecord.test.d.ts +1 -0
  49. package/dist/nodes/SmartSuite/__tests__/actions/record/upsertRecord.test.js +138 -0
  50. package/dist/nodes/SmartSuite/__tests__/actions/record/upsertRecord.test.js.map +1 -0
  51. package/dist/nodes/SmartSuite/__tests__/actions/solution/getSolution.test.d.ts +1 -0
  52. package/dist/nodes/SmartSuite/__tests__/actions/solution/getSolution.test.js +57 -0
  53. package/dist/nodes/SmartSuite/__tests__/actions/solution/getSolution.test.js.map +1 -0
  54. package/dist/nodes/SmartSuite/__tests__/actions/solution/listSolution.test.d.ts +1 -0
  55. package/dist/nodes/SmartSuite/__tests__/actions/solution/listSolution.test.js +48 -0
  56. package/dist/nodes/SmartSuite/__tests__/actions/solution/listSolution.test.js.map +1 -0
  57. package/dist/nodes/SmartSuite/__tests__/actions/table/createTable.test.d.ts +1 -0
  58. package/dist/nodes/SmartSuite/__tests__/actions/table/createTable.test.js +50 -0
  59. package/dist/nodes/SmartSuite/__tests__/actions/table/createTable.test.js.map +1 -0
  60. package/dist/nodes/SmartSuite/__tests__/actions/table/createTableField.test.d.ts +1 -0
  61. package/dist/nodes/SmartSuite/__tests__/actions/table/createTableField.test.js +93 -0
  62. package/dist/nodes/SmartSuite/__tests__/actions/table/createTableField.test.js.map +1 -0
  63. package/dist/nodes/SmartSuite/__tests__/actions/table/getTable.test.d.ts +1 -0
  64. package/dist/nodes/SmartSuite/__tests__/actions/table/getTable.test.js +70 -0
  65. package/dist/nodes/SmartSuite/__tests__/actions/table/getTable.test.js.map +1 -0
  66. package/dist/nodes/SmartSuite/__tests__/actions/table/listTable.test.d.ts +1 -0
  67. package/dist/nodes/SmartSuite/__tests__/actions/table/listTable.test.js +78 -0
  68. package/dist/nodes/SmartSuite/__tests__/actions/table/listTable.test.js.map +1 -0
  69. package/dist/nodes/SmartSuite/__tests__/helpers/mockResourceInputs.d.ts +10 -0
  70. package/dist/nodes/SmartSuite/__tests__/helpers/mockResourceInputs.js +26 -0
  71. package/dist/nodes/SmartSuite/__tests__/helpers/mockResourceInputs.js.map +1 -0
  72. package/dist/nodes/SmartSuite/actions/api/ApiRequestDescription.d.ts +2 -0
  73. package/dist/nodes/SmartSuite/actions/api/ApiRequestDescription.js +185 -0
  74. package/dist/nodes/SmartSuite/actions/api/ApiRequestDescription.js.map +1 -0
  75. package/dist/nodes/SmartSuite/actions/api/makeApiRequest.operation.d.ts +3 -0
  76. package/dist/nodes/SmartSuite/actions/api/makeApiRequest.operation.js +65 -0
  77. package/dist/nodes/SmartSuite/actions/api/makeApiRequest.operation.js.map +1 -0
  78. package/dist/nodes/SmartSuite/actions/orgManagement/OrgManagementDescription.d.ts +2 -0
  79. package/dist/nodes/SmartSuite/actions/orgManagement/OrgManagementDescription.js +21 -0
  80. package/dist/nodes/SmartSuite/actions/orgManagement/OrgManagementDescription.js.map +1 -0
  81. package/dist/nodes/SmartSuite/actions/orgManagement/getCurrentUser.operation.d.ts +18 -0
  82. package/dist/nodes/SmartSuite/actions/orgManagement/getCurrentUser.operation.js +39 -0
  83. package/dist/nodes/SmartSuite/actions/orgManagement/getCurrentUser.operation.js.map +1 -0
  84. package/dist/nodes/SmartSuite/actions/orgManagement/listMembers.operation.d.ts +18 -0
  85. package/dist/nodes/SmartSuite/actions/orgManagement/listMembers.operation.js +41 -0
  86. package/dist/nodes/SmartSuite/actions/orgManagement/listMembers.operation.js.map +1 -0
  87. package/dist/nodes/SmartSuite/actions/orgManagement/listTeams.operation.d.ts +18 -0
  88. package/dist/nodes/SmartSuite/actions/orgManagement/listTeams.operation.js +41 -0
  89. package/dist/nodes/SmartSuite/actions/orgManagement/listTeams.operation.js.map +1 -0
  90. package/dist/nodes/SmartSuite/actions/record/RecordDescription.d.ts +2 -0
  91. package/dist/nodes/SmartSuite/actions/record/RecordDescription.js +370 -0
  92. package/dist/nodes/SmartSuite/actions/record/RecordDescription.js.map +1 -0
  93. package/dist/nodes/SmartSuite/actions/record/createRecord.operation.d.ts +87 -0
  94. package/dist/nodes/SmartSuite/actions/record/createRecord.operation.js +55 -0
  95. package/dist/nodes/SmartSuite/actions/record/createRecord.operation.js.map +1 -0
  96. package/dist/nodes/SmartSuite/actions/record/deleteRecord.operation.d.ts +24 -0
  97. package/dist/nodes/SmartSuite/actions/record/deleteRecord.operation.js +49 -0
  98. package/dist/nodes/SmartSuite/actions/record/deleteRecord.operation.js.map +1 -0
  99. package/dist/nodes/SmartSuite/actions/record/getRecord.operation.d.ts +2 -0
  100. package/dist/nodes/SmartSuite/actions/record/getRecord.operation.js +31 -0
  101. package/dist/nodes/SmartSuite/actions/record/getRecord.operation.js.map +1 -0
  102. package/dist/nodes/SmartSuite/actions/record/listRecord.operation.d.ts +2 -0
  103. package/dist/nodes/SmartSuite/actions/record/listRecord.operation.js +52 -0
  104. package/dist/nodes/SmartSuite/actions/record/listRecord.operation.js.map +1 -0
  105. package/dist/nodes/SmartSuite/actions/record/searchRecord.operation.d.ts +2 -0
  106. package/dist/nodes/SmartSuite/actions/record/searchRecord.operation.js +77 -0
  107. package/dist/nodes/SmartSuite/actions/record/searchRecord.operation.js.map +1 -0
  108. package/dist/nodes/SmartSuite/actions/record/updateRecord.operation.d.ts +2 -0
  109. package/dist/nodes/SmartSuite/actions/record/updateRecord.operation.js +42 -0
  110. package/dist/nodes/SmartSuite/actions/record/updateRecord.operation.js.map +1 -0
  111. package/dist/nodes/SmartSuite/actions/record/upsertRecord.operation.d.ts +2 -0
  112. package/dist/nodes/SmartSuite/actions/record/upsertRecord.operation.js +66 -0
  113. package/dist/nodes/SmartSuite/actions/record/upsertRecord.operation.js.map +1 -0
  114. package/dist/nodes/SmartSuite/actions/solution/SolutionDescription.d.ts +2 -0
  115. package/dist/nodes/SmartSuite/actions/solution/SolutionDescription.js +54 -0
  116. package/dist/nodes/SmartSuite/actions/solution/SolutionDescription.js.map +1 -0
  117. package/dist/nodes/SmartSuite/actions/solution/getSolution.operation.d.ts +3 -0
  118. package/dist/nodes/SmartSuite/actions/solution/getSolution.operation.js +25 -0
  119. package/dist/nodes/SmartSuite/actions/solution/getSolution.operation.js.map +1 -0
  120. package/dist/nodes/SmartSuite/actions/solution/listSolution.operation.d.ts +3 -0
  121. package/dist/nodes/SmartSuite/actions/solution/listSolution.operation.js +54 -0
  122. package/dist/nodes/SmartSuite/actions/solution/listSolution.operation.js.map +1 -0
  123. package/dist/nodes/SmartSuite/actions/table/TableDescription.d.ts +6 -0
  124. package/dist/nodes/SmartSuite/actions/table/TableDescription.js +153 -0
  125. package/dist/nodes/SmartSuite/actions/table/TableDescription.js.map +1 -0
  126. package/dist/nodes/SmartSuite/actions/table/createTable.operation.d.ts +2 -0
  127. package/dist/nodes/SmartSuite/actions/table/createTable.operation.js +45 -0
  128. package/dist/nodes/SmartSuite/actions/table/createTable.operation.js.map +1 -0
  129. package/dist/nodes/SmartSuite/actions/table/createTableField.operation.d.ts +2 -0
  130. package/dist/nodes/SmartSuite/actions/table/createTableField.operation.js +49 -0
  131. package/dist/nodes/SmartSuite/actions/table/createTableField.operation.js.map +1 -0
  132. package/dist/nodes/SmartSuite/actions/table/getTable.operation.d.ts +2 -0
  133. package/dist/nodes/SmartSuite/actions/table/getTable.operation.js +23 -0
  134. package/dist/nodes/SmartSuite/actions/table/getTable.operation.js.map +1 -0
  135. package/dist/nodes/SmartSuite/actions/table/listTable.operation.d.ts +2 -0
  136. package/dist/nodes/SmartSuite/actions/table/listTable.operation.js +42 -0
  137. package/dist/nodes/SmartSuite/actions/table/listTable.operation.js.map +1 -0
  138. package/dist/nodes/SmartSuite/helpers/getFilterOptions.d.ts +11 -0
  139. package/dist/nodes/SmartSuite/helpers/getFilterOptions.js +376 -0
  140. package/dist/nodes/SmartSuite/helpers/getFilterOptions.js.map +1 -0
  141. package/dist/nodes/SmartSuite/helpers/getValidFilters.d.ts +6 -0
  142. package/dist/nodes/SmartSuite/helpers/getValidFilters.js +47 -0
  143. package/dist/nodes/SmartSuite/helpers/getValidFilters.js.map +1 -0
  144. package/dist/nodes/SmartSuite/helpers/utils.d.ts +21 -0
  145. package/dist/nodes/SmartSuite/helpers/utils.js +62 -0
  146. package/dist/nodes/SmartSuite/helpers/utils.js.map +1 -0
  147. package/dist/nodes/SmartSuite/helpers/validation.d.ts +9 -0
  148. package/dist/nodes/SmartSuite/helpers/validation.js +41 -0
  149. package/dist/nodes/SmartSuite/helpers/validation.js.map +1 -0
  150. package/dist/nodes/SmartSuite/index.d.ts +2 -0
  151. package/dist/nodes/SmartSuite/index.js +12 -0
  152. package/dist/nodes/SmartSuite/index.js.map +1 -0
  153. package/dist/nodes/SmartSuite/methods/listSearch.d.ts +11 -0
  154. package/dist/nodes/SmartSuite/methods/listSearch.js +81 -0
  155. package/dist/nodes/SmartSuite/methods/listSearch.js.map +1 -0
  156. package/dist/nodes/SmartSuite/methods/loadOptions.d.ts +30 -0
  157. package/dist/nodes/SmartSuite/methods/loadOptions.js +133 -0
  158. package/dist/nodes/SmartSuite/methods/loadOptions.js.map +1 -0
  159. package/dist/nodes/SmartSuite/methods/resourceMapping.d.ts +48 -0
  160. package/dist/nodes/SmartSuite/methods/resourceMapping.js +122 -0
  161. package/dist/nodes/SmartSuite/methods/resourceMapping.js.map +1 -0
  162. package/dist/nodes/SmartSuite/methods/router.d.ts +2 -0
  163. package/dist/nodes/SmartSuite/methods/router.js +65 -0
  164. package/dist/nodes/SmartSuite/methods/router.js.map +1 -0
  165. package/dist/nodes/SmartSuite/shared/__testHelpers__/mockExecuteFunctions.d.ts +9 -0
  166. package/dist/nodes/SmartSuite/shared/__testHelpers__/mockExecuteFunctions.js +84 -0
  167. package/dist/nodes/SmartSuite/shared/__testHelpers__/mockExecuteFunctions.js.map +1 -0
  168. package/dist/nodes/SmartSuite/shared/resourceInputs.d.ts +15 -0
  169. package/dist/nodes/SmartSuite/shared/resourceInputs.js +112 -0
  170. package/dist/nodes/SmartSuite/shared/resourceInputs.js.map +1 -0
  171. package/dist/nodes/SmartSuite/smartsuite.svg +6 -0
  172. package/dist/nodes/SmartSuite/transport/smartSuiteApi.d.ts +12 -0
  173. package/dist/nodes/SmartSuite/transport/smartSuiteApi.js +111 -0
  174. package/dist/nodes/SmartSuite/transport/smartSuiteApi.js.map +1 -0
  175. package/dist/nodes/SmartSuite/types.d.ts +11 -0
  176. package/dist/nodes/SmartSuite/types.js +4 -0
  177. package/dist/nodes/SmartSuite/types.js.map +1 -0
  178. package/package.json +99 -0
@@ -0,0 +1,18 @@
1
+ import type { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
+ /**
3
+ * SmartSuite Org Management → Get Current User
4
+ */
5
+ export declare const description: readonly [{
6
+ readonly displayName: "Operation";
7
+ readonly name: "operation";
8
+ readonly type: "hidden";
9
+ readonly default: "getCurrentUser";
10
+ readonly displayOptions: {
11
+ readonly show: {
12
+ readonly resource: readonly ["orgManagement"];
13
+ readonly operation: readonly ["getCurrentUser"];
14
+ };
15
+ };
16
+ readonly description: "Retrieve details of the current authenticated user";
17
+ }];
18
+ export declare function execute(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // src/nodes/SmartSuite/actions/orgManagement/getCurrentUser.operation.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.description = void 0;
5
+ exports.execute = execute;
6
+ const n8n_workflow_1 = require("n8n-workflow");
7
+ const utils_1 = require("../../helpers/utils");
8
+ const smartSuiteApi_1 = require("../../transport/smartSuiteApi");
9
+ /**
10
+ * SmartSuite Org Management → Get Current User
11
+ */
12
+ exports.description = [
13
+ {
14
+ displayName: 'Operation',
15
+ name: 'operation',
16
+ type: 'hidden',
17
+ default: 'getCurrentUser',
18
+ displayOptions: {
19
+ show: {
20
+ resource: ['orgManagement'],
21
+ operation: ['getCurrentUser'],
22
+ },
23
+ },
24
+ description: 'Retrieve details of the current authenticated user',
25
+ },
26
+ ];
27
+ async function execute() {
28
+ try {
29
+ (0, utils_1.debugLog)('[OrgMgmt] getCurrentUser.execute called', null, 1);
30
+ const user = (await smartSuiteApi_1.apiRequest.call(this, 'GET', '/users/me/'));
31
+ (0, utils_1.debugLog)('[OrgMgmt] Current user data', user, 3);
32
+ return this.helpers.returnJsonArray([user]);
33
+ }
34
+ catch (error) {
35
+ (0, utils_1.debugLog)('[OrgMgmt] getCurrentUser error', error, 1);
36
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), error instanceof Error ? error.message : JSON.stringify(error));
37
+ }
38
+ }
39
+ //# sourceMappingURL=getCurrentUser.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurrentUser.operation.js","sourceRoot":"","sources":["../../../../../src/nodes/SmartSuite/actions/orgManagement/getCurrentUser.operation.ts"],"names":[],"mappings":";AAAA,yEAAyE;;;AA0BzE,0BAeC;AAtCD,+CAAkD;AAClD,+CAA+C;AAC/C,iEAA2D;AAE3D;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB;QACE,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,gBAAgB;QACzB,cAAc,EAAE;YACd,IAAI,EAAE;gBACJ,QAAQ,EAAE,CAAC,eAAe,CAAC;gBAC3B,SAAS,EAAE,CAAC,gBAAgB,CAAC;aAC9B;SACF;QACD,WAAW,EAAE,oDAAoD;KAClE;CACO,CAAC;AAEJ,KAAK,UAAU,OAAO;IAC3B,IAAI,CAAC;QACH,IAAA,gBAAQ,EAAC,yCAAyC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,CAAC,MAAM,0BAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAgB,CAAC;QAC/E,IAAA,gBAAQ,EAAC,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,gBAAQ,EAAC,gCAAgC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAC/D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
+ /**
3
+ * SmartSuite Org Management → List Members
4
+ */
5
+ export declare const description: readonly [{
6
+ readonly displayName: "List Members";
7
+ readonly name: "listMembers";
8
+ readonly type: "operation";
9
+ readonly displayOptions: {
10
+ readonly show: {
11
+ readonly resource: readonly ["orgManagement"];
12
+ readonly operation: readonly ["listMembers"];
13
+ };
14
+ };
15
+ readonly default: true;
16
+ readonly description: "Retrieve members from Org Management";
17
+ }];
18
+ export declare function execute(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // src/nodes/SmartSuite/actions/orgManagement/listMembers.operation.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.description = void 0;
5
+ exports.execute = execute;
6
+ const n8n_workflow_1 = require("n8n-workflow");
7
+ const smartSuiteApi_1 = require("../../transport/smartSuiteApi");
8
+ const utils_1 = require("../../helpers/utils");
9
+ /**
10
+ * SmartSuite Org Management → List Members
11
+ */
12
+ exports.description = [
13
+ {
14
+ displayName: 'List Members',
15
+ name: 'listMembers',
16
+ type: 'operation',
17
+ displayOptions: {
18
+ show: {
19
+ resource: ['orgManagement'],
20
+ operation: ['listMembers'],
21
+ },
22
+ },
23
+ default: true,
24
+ description: 'Retrieve members from Org Management',
25
+ },
26
+ ];
27
+ async function execute() {
28
+ try {
29
+ (0, utils_1.debugLog)('[OrgMgmt] listMembers.execute called', null, 1);
30
+ const response = (await smartSuiteApi_1.apiRequest.call(this, 'POST', '/members/list/'));
31
+ (0, utils_1.debugLog)('[OrgMgmt] API response', response, 3); // verbose
32
+ const members = Array.isArray(response?.items) ? response.items : [];
33
+ (0, utils_1.debugLog)('[OrgMgmt] Flattened member list count', members.length, 2);
34
+ return this.helpers.returnJsonArray(members);
35
+ }
36
+ catch (error) {
37
+ (0, utils_1.debugLog)('[OrgMgmt] listMembers error', error, 1);
38
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), error instanceof Error ? error.message : JSON.stringify(error));
39
+ }
40
+ }
41
+ //# sourceMappingURL=listMembers.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listMembers.operation.js","sourceRoot":"","sources":["../../../../../src/nodes/SmartSuite/actions/orgManagement/listMembers.operation.ts"],"names":[],"mappings":";AAAA,sEAAsE;;;AA8BtE,0BAkBC;AA7CD,+CAAkD;AAClD,iEAA2D;AAC3D,+CAA+C;AAE/C;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB;QACE,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,WAAW;QACjB,cAAc,EAAE;YACd,IAAI,EAAE;gBACJ,QAAQ,EAAE,CAAC,eAAe,CAAC;gBAC3B,SAAS,EAAE,CAAC,aAAa,CAAC;aAC3B;SACF;QACD,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,sCAAsC;KACpD;CACO,CAAC;AAMJ,KAAK,UAAU,OAAO;IAC3B,IAAI,CAAC;QACH,IAAA,gBAAQ,EAAC,sCAAsC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,CAAC,MAAM,0BAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAmB,CAAC;QAC3F,IAAA,gBAAQ,EAAC,wBAAwB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU;QAE3D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAA,gBAAQ,EAAC,uCAAuC,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAErE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,gBAAQ,EAAC,6BAA6B,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAC/D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
+ /**
3
+ * SmartSuite Org Management → List Teams
4
+ */
5
+ export declare const description: readonly [{
6
+ readonly displayName: "Operation";
7
+ readonly name: "operation";
8
+ readonly type: "hidden";
9
+ readonly default: "listTeams";
10
+ readonly displayOptions: {
11
+ readonly show: {
12
+ readonly resource: readonly ["orgManagement"];
13
+ readonly operation: readonly ["listTeams"];
14
+ };
15
+ };
16
+ readonly description: "Retrieve list of teams from Org Management";
17
+ }];
18
+ export declare function execute(this: IExecuteFunctions): Promise<INodeExecutionData[]>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // src/nodes/SmartSuite/actions/orgManagement/listTeams.operation.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.description = void 0;
5
+ exports.execute = execute;
6
+ const n8n_workflow_1 = require("n8n-workflow");
7
+ const utils_1 = require("../../helpers/utils");
8
+ const smartSuiteApi_1 = require("../../transport/smartSuiteApi");
9
+ /**
10
+ * SmartSuite Org Management → List Teams
11
+ */
12
+ exports.description = [
13
+ {
14
+ displayName: 'Operation',
15
+ name: 'operation',
16
+ type: 'hidden',
17
+ default: 'listTeams',
18
+ displayOptions: {
19
+ show: {
20
+ resource: ['orgManagement'],
21
+ operation: ['listTeams'],
22
+ },
23
+ },
24
+ description: 'Retrieve list of teams from Org Management',
25
+ },
26
+ ];
27
+ async function execute() {
28
+ try {
29
+ (0, utils_1.debugLog)('[OrgMgmt] listTeams.execute called', null, 1);
30
+ const response = (await smartSuiteApi_1.apiRequest.call(this, 'POST', '/teams/list/'));
31
+ (0, utils_1.debugLog)('[OrgMgmt] API response', response, 3);
32
+ const teams = Array.isArray(response?.items) ? response.items : [];
33
+ (0, utils_1.debugLog)('[OrgMgmt] Flattened team list count', teams.length, 2);
34
+ return this.helpers.returnJsonArray(teams);
35
+ }
36
+ catch (error) {
37
+ (0, utils_1.debugLog)('[OrgMgmt] listTeams error', error, 1);
38
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), error instanceof Error ? error.message : JSON.stringify(error));
39
+ }
40
+ }
41
+ //# sourceMappingURL=listTeams.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listTeams.operation.js","sourceRoot":"","sources":["../../../../../src/nodes/SmartSuite/actions/orgManagement/listTeams.operation.ts"],"names":[],"mappings":";AAAA,oEAAoE;;;AA8BpE,0BAkBC;AA7CD,+CAAkD;AAClD,+CAA+C;AAC/C,iEAA2D;AAE3D;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB;QACE,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,WAAW;QACpB,cAAc,EAAE;YACd,IAAI,EAAE;gBACJ,QAAQ,EAAE,CAAC,eAAe,CAAC;gBAC3B,SAAS,EAAE,CAAC,WAAW,CAAC;aACzB;SACF;QACD,WAAW,EAAE,4CAA4C;KAC1D;CACO,CAAC;AAMJ,KAAK,UAAU,OAAO;IAC3B,IAAI,CAAC;QACH,IAAA,gBAAQ,EAAC,oCAAoC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,CAAC,MAAM,0BAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAiB,CAAC;QACvF,IAAA,gBAAQ,EAAC,wBAAwB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,IAAA,gBAAQ,EAAC,qCAAqC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,gBAAQ,EAAC,2BAA2B,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAC/D,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const recordDescription: INodeProperties[];
@@ -0,0 +1,370 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordDescription = void 0;
4
+ const resourceInputs_1 = require("../../shared/resourceInputs");
5
+ exports.recordDescription = [
6
+ // 1) Operation Selector
7
+ {
8
+ displayName: 'Operation',
9
+ name: 'operation',
10
+ type: 'options',
11
+ noDataExpression: true,
12
+ displayOptions: { show: { resource: ['record'] } },
13
+ options: [
14
+ { name: 'Get Record', value: 'getRecord', action: 'Get Record', description: 'Retrieve a record by ID' },
15
+ { name: 'List Records', value: 'listRecord', action: 'List Records', description: 'List multiple records' },
16
+ { name: 'Search Records', value: 'searchRecord', action: 'Search Records', description: 'Search for records' },
17
+ { name: 'Create Record', value: 'createRecord', action: 'Create Record', description: 'Create a new record' },
18
+ { name: 'Update Record', value: 'updateRecord', action: 'Update Record', description: 'Update an existing record' },
19
+ { name: 'Upsert Record', value: 'upsertRecord', action: 'Upsert Record', description: 'Create a record or update it if it already exists' },
20
+ { name: 'Delete Record', value: 'deleteRecord', action: 'Delete Record', description: 'Delete a record' },
21
+ ],
22
+ default: 'getRecord',
23
+ description: 'The operation to perform on a Record',
24
+ },
25
+ // 2) Solution Selector
26
+ {
27
+ ...resourceInputs_1.solutionInput,
28
+ required: true,
29
+ displayOptions: {
30
+ show: {
31
+ resource: ['record'],
32
+ operation: ['getRecord', 'listRecord', 'searchRecord', 'createRecord', 'updateRecord', 'upsertRecord', 'deleteRecord'],
33
+ },
34
+ },
35
+ },
36
+ // 3) Table Selector
37
+ {
38
+ ...resourceInputs_1.tableInput,
39
+ required: true,
40
+ displayOptions: {
41
+ show: {
42
+ resource: ['record'],
43
+ operation: ['getRecord', 'listRecord', 'searchRecord', 'createRecord', 'updateRecord', 'upsertRecord', 'deleteRecord'],
44
+ },
45
+ },
46
+ },
47
+ // 4) Get Record
48
+ {
49
+ displayName: 'Record ID',
50
+ name: 'recordId',
51
+ type: 'string',
52
+ required: true,
53
+ default: '',
54
+ displayOptions: { show: { resource: ['record'], operation: ['getRecord'] } },
55
+ description: 'The SmartSuite Record ID to retrieve',
56
+ },
57
+ {
58
+ displayName: 'Hydrated',
59
+ name: 'hydrated',
60
+ type: 'boolean',
61
+ noDataExpression: true,
62
+ default: false,
63
+ displayOptions: { show: { resource: ['record'], operation: ['getRecord'] } },
64
+ description: 'Return record with related data hydrated',
65
+ },
66
+ // 5) List Records
67
+ {
68
+ displayName: 'Hydrated',
69
+ name: 'hydrated',
70
+ type: 'boolean',
71
+ noDataExpression: true,
72
+ default: false,
73
+ displayOptions: { show: { resource: ['record'], operation: ['listRecord'] } },
74
+ description: 'Return records with related data hydrated',
75
+ },
76
+ {
77
+ displayName: 'Return All',
78
+ name: 'returnAll',
79
+ type: 'boolean',
80
+ noDataExpression: true,
81
+ default: false,
82
+ displayOptions: { show: { resource: ['record'], operation: ['listRecord'] } },
83
+ description: 'Return all records (ignores limit)',
84
+ },
85
+ {
86
+ displayName: 'Limit',
87
+ name: 'limit',
88
+ type: 'number',
89
+ noDataExpression: true,
90
+ default: 50,
91
+ typeOptions: { minValue: 1, maxValue: 100 },
92
+ displayOptions: { show: { resource: ['record'], operation: ['listRecord'], returnAll: [false] } },
93
+ description: 'Max number of records to return',
94
+ },
95
+ // 6) Search Records
96
+ {
97
+ displayName: 'Search Operator',
98
+ name: 'searchOperator',
99
+ type: 'options',
100
+ noDataExpression: true,
101
+ default: 'AND',
102
+ options: [
103
+ { name: 'AND', value: 'AND' },
104
+ { name: 'OR', value: 'OR' },
105
+ ],
106
+ displayOptions: { show: { resource: ['record'], operation: ['searchRecord'] } },
107
+ description: 'Combine filters (AND/OR)',
108
+ },
109
+ {
110
+ displayName: 'Filters',
111
+ name: 'filters',
112
+ type: 'fixedCollection',
113
+ placeholder: 'Add Filter',
114
+ typeOptions: { multipleValues: true, valueMultiple: 'filter', sortable: true },
115
+ default: { filter: [] },
116
+ noDataExpression: true,
117
+ displayOptions: { show: { resource: ['record'], operation: ['searchRecord'] } },
118
+ description: 'List of filters to apply',
119
+ options: [
120
+ {
121
+ displayName: 'Filter Criteria',
122
+ name: 'filter',
123
+ values: [
124
+ {
125
+ displayName: 'Field',
126
+ name: 'field',
127
+ type: 'options',
128
+ noDataExpression: true,
129
+ typeOptions: {
130
+ loadOptionsMethod: 'searchTableFields',
131
+ loadOptionsDependsOn: ['solutionId.value', 'tableId.value'],
132
+ },
133
+ default: '',
134
+ description: 'Select a field to filter on',
135
+ },
136
+ {
137
+ displayName: 'Condition',
138
+ name: 'condition',
139
+ type: 'options',
140
+ noDataExpression: true,
141
+ default: '',
142
+ typeOptions: {
143
+ loadOptionsMethod: 'getFilterOptionsForFieldType',
144
+ loadOptionsDependsOn: ['filters.filter[0].field'],
145
+ },
146
+ description: 'Comparison operator. <a href="https://developers.smartsuite.com/docs/solution-data/records/sort-filter#operators-by-field-type" target="_blank">See SmartSuite operators</a>',
147
+ },
148
+ {
149
+ displayName: 'Value',
150
+ name: 'value',
151
+ type: 'string',
152
+ default: '',
153
+ description: 'Value to compare against',
154
+ },
155
+ ],
156
+ },
157
+ ],
158
+ },
159
+ {
160
+ displayName: 'Hydrated',
161
+ name: 'hydrated',
162
+ type: 'boolean',
163
+ noDataExpression: true,
164
+ default: false,
165
+ displayOptions: { show: { resource: ['record'], operation: ['searchRecord'] } },
166
+ description: 'Return hydrated records',
167
+ },
168
+ {
169
+ displayName: 'Return All',
170
+ name: 'returnAll',
171
+ type: 'boolean',
172
+ noDataExpression: true,
173
+ default: false,
174
+ displayOptions: { show: { resource: ['record'], operation: ['searchRecord'] } },
175
+ description: 'Ignore limit and return all matching records',
176
+ },
177
+ {
178
+ displayName: 'Limit',
179
+ name: 'limit',
180
+ type: 'number',
181
+ noDataExpression: true,
182
+ default: 50,
183
+ typeOptions: { minValue: 1, maxValue: 100 },
184
+ displayOptions: { show: { resource: ['record'], operation: ['searchRecord'], returnAll: [false] } },
185
+ description: 'Max number of records to return',
186
+ },
187
+ // 7) Create Record
188
+ {
189
+ displayName: 'Fields',
190
+ name: 'fieldsUi',
191
+ type: 'fixedCollection',
192
+ placeholder: 'Add Field',
193
+ typeOptions: { multipleValues: true, sortable: true },
194
+ default: { fieldsValues: [] },
195
+ noDataExpression: true,
196
+ displayOptions: { show: { resource: ['record'], operation: ['createRecord'] } },
197
+ description: 'Add fields when creating a record',
198
+ options: [
199
+ {
200
+ displayName: 'Field to Set',
201
+ name: 'fieldsValues',
202
+ values: [
203
+ {
204
+ displayName: 'Field',
205
+ name: 'field',
206
+ type: 'options',
207
+ noDataExpression: true,
208
+ typeOptions: {
209
+ loadOptionsMethod: 'searchTableFieldsMutable',
210
+ loadOptionsDependsOn: ['solutionId.value', 'tableId.value'],
211
+ },
212
+ default: '',
213
+ description: 'Select a field',
214
+ },
215
+ {
216
+ displayName: 'Value',
217
+ name: 'value',
218
+ type: 'string',
219
+ default: '',
220
+ description: 'Value to assign to that field',
221
+ },
222
+ ],
223
+ },
224
+ ],
225
+ },
226
+ // 8) Update Record
227
+ {
228
+ displayName: 'Record ID',
229
+ name: 'recordId',
230
+ type: 'string',
231
+ required: true,
232
+ default: '',
233
+ noDataExpression: true,
234
+ displayOptions: { show: { resource: ['record'], operation: ['updateRecord'] } },
235
+ description: 'The SmartSuite Record ID to update',
236
+ },
237
+ {
238
+ displayName: 'Fields to Update',
239
+ name: 'fieldsUiUpdate',
240
+ type: 'fixedCollection',
241
+ placeholder: 'Add Field',
242
+ typeOptions: { multipleValues: true, sortable: true },
243
+ default: { fieldsValues: [] },
244
+ noDataExpression: true,
245
+ displayOptions: { show: { resource: ['record'], operation: ['updateRecord'] } },
246
+ description: 'Add fields when updating a record',
247
+ options: [
248
+ {
249
+ displayName: 'Field to Update',
250
+ name: 'fieldsValues',
251
+ values: [
252
+ {
253
+ displayName: 'Field',
254
+ name: 'field',
255
+ type: 'options',
256
+ noDataExpression: true,
257
+ typeOptions: {
258
+ loadOptionsMethod: 'searchTableFieldsMutable',
259
+ loadOptionsDependsOn: ['solutionId.value', 'tableId.value'],
260
+ },
261
+ default: '',
262
+ description: 'Select a field to update',
263
+ },
264
+ {
265
+ displayName: 'Value',
266
+ name: 'value',
267
+ type: 'string',
268
+ default: '',
269
+ description: 'Value to assign to that field',
270
+ },
271
+ ],
272
+ },
273
+ ],
274
+ },
275
+ // 9) Upsert Record Warning
276
+ {
277
+ displayName: '⚠️ Upsert Warning: If your “contains” filter matches multiple records, only the first match will be updated.',
278
+ name: 'noticeUpsertWarning',
279
+ type: 'notice',
280
+ default: '',
281
+ displayOptions: {
282
+ show: { resource: ['record'], operation: ['upsertRecord'] },
283
+ },
284
+ },
285
+ {
286
+ displayName: 'Matching Field',
287
+ name: 'matchingField',
288
+ type: 'options',
289
+ noDataExpression: true,
290
+ typeOptions: {
291
+ loadOptionsMethod: 'searchTableFieldsMutable',
292
+ loadOptionsDependsOn: ['solutionId.value', 'tableId.value'],
293
+ },
294
+ displayOptions: { show: { resource: ['record'], operation: ['upsertRecord'] } },
295
+ description: 'Field to match on for upserting',
296
+ default: '',
297
+ },
298
+ {
299
+ displayName: 'Condition',
300
+ name: 'condition',
301
+ type: 'options',
302
+ noDataExpression: true,
303
+ default: '',
304
+ typeOptions: {
305
+ loadOptionsMethod: 'getFilterOptionsForFieldType',
306
+ loadOptionsDependsOn: ['matchingField'],
307
+ },
308
+ displayOptions: { show: { resource: ['record'], operation: ['upsertRecord'] } },
309
+ description: 'Comparison operator. <a href="https://developers.smartsuite.com/docs/solution-data/records/sort-filter#operators-by-field-type" target="_blank">See SmartSuite operators</a>.',
310
+ },
311
+ {
312
+ displayName: 'Match Value',
313
+ name: 'matchValue',
314
+ type: 'string',
315
+ noDataExpression: true,
316
+ default: '',
317
+ displayOptions: { show: { resource: ['record'], operation: ['upsertRecord'] } },
318
+ description: 'Value to match against in the field',
319
+ },
320
+ {
321
+ displayName: 'Fields to Upsert',
322
+ name: 'fieldsUiUpdate',
323
+ type: 'fixedCollection',
324
+ placeholder: 'Add Field',
325
+ typeOptions: { multipleValues: true, sortable: true },
326
+ default: { fieldsValues: [] },
327
+ noDataExpression: true,
328
+ displayOptions: { show: { resource: ['record'], operation: ['upsertRecord'] } },
329
+ description: 'Add fields when upserting a record',
330
+ options: [
331
+ {
332
+ displayName: 'Field to Upsert',
333
+ name: 'fieldsValues',
334
+ values: [
335
+ {
336
+ displayName: 'Field',
337
+ name: 'field',
338
+ type: 'options',
339
+ noDataExpression: true,
340
+ typeOptions: {
341
+ loadOptionsMethod: 'searchTableFieldsMutable',
342
+ loadOptionsDependsOn: ['solutionId.value', 'tableId.value'],
343
+ },
344
+ default: '',
345
+ description: 'Select a field to upsert',
346
+ },
347
+ {
348
+ displayName: 'Value',
349
+ name: 'value',
350
+ type: 'string',
351
+ default: '',
352
+ description: 'Value to assign to that field',
353
+ },
354
+ ],
355
+ },
356
+ ],
357
+ },
358
+ // 10) Delete Record
359
+ {
360
+ displayName: 'Record ID',
361
+ name: 'recordId',
362
+ type: 'string',
363
+ required: true,
364
+ default: '',
365
+ noDataExpression: true,
366
+ displayOptions: { show: { resource: ['record'], operation: ['deleteRecord'] } },
367
+ description: 'The SmartSuite Record ID to delete',
368
+ },
369
+ ];
370
+ //# sourceMappingURL=RecordDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordDescription.js","sourceRoot":"","sources":["../../../../../src/nodes/SmartSuite/actions/record/RecordDescription.ts"],"names":[],"mappings":"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"}