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,376 @@
1
+ "use strict";
2
+ // src/nodes/SmartSuite/helpers/getFilterOptions.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.filterOptionsByFieldType = void 0;
5
+ exports.getFilterOptionsForFieldType = getFilterOptionsForFieldType;
6
+ /**
7
+ * A lookup table of valid comparison operators for each SmartSuite field type,
8
+ * sourced directly from your "Field Type–Operators Across" spreadsheet.
9
+ */
10
+ exports.filterOptionsByFieldType = {
11
+ textfield: [
12
+ 'is',
13
+ 'is_not',
14
+ 'is_empty',
15
+ 'is_not_empty',
16
+ 'contains',
17
+ 'not_contains',
18
+ ],
19
+ addressfield: [
20
+ 'is',
21
+ 'is_not',
22
+ 'is_empty',
23
+ 'is_not_empty',
24
+ 'contains',
25
+ 'not_contains',
26
+ ],
27
+ checklistfield: [
28
+ 'is_empty',
29
+ 'is_not_empty',
30
+ ],
31
+ colorpickerfield: [
32
+ 'is',
33
+ 'is_not',
34
+ 'is_empty',
35
+ 'is_not_empty',
36
+ 'contains',
37
+ 'not_contains',
38
+ ],
39
+ emailfield: [
40
+ 'is',
41
+ 'is_not',
42
+ 'is_empty',
43
+ 'is_not_empty',
44
+ 'contains',
45
+ 'not_contains',
46
+ ],
47
+ fullnamefield: [
48
+ 'is',
49
+ 'is_not',
50
+ 'is_empty',
51
+ 'is_not_empty',
52
+ 'contains',
53
+ 'not_contains',
54
+ ],
55
+ ipaddressfield: [
56
+ 'is',
57
+ 'is_not',
58
+ 'is_empty',
59
+ 'is_not_empty',
60
+ 'contains',
61
+ 'not_contains',
62
+ ],
63
+ linkfield: [
64
+ 'is',
65
+ 'is_not',
66
+ 'is_empty',
67
+ 'is_not_empty',
68
+ 'contains',
69
+ 'not_contains',
70
+ ],
71
+ phonefield: [
72
+ 'is',
73
+ 'is_not',
74
+ 'is_empty',
75
+ 'is_not_empty',
76
+ 'contains',
77
+ 'not_contains',
78
+ ],
79
+ recordtitlefield: [
80
+ 'is',
81
+ 'is_not',
82
+ 'is_empty',
83
+ 'is_not_empty',
84
+ 'contains',
85
+ 'not_contains',
86
+ ],
87
+ richtextareafield: [
88
+ 'is_empty',
89
+ 'is_not_empty',
90
+ ],
91
+ socialnetworkfield: [
92
+ 'is',
93
+ 'is_not',
94
+ 'is_empty',
95
+ 'is_not_empty',
96
+ 'contains',
97
+ 'not_contains',
98
+ ],
99
+ textareafield: [
100
+ 'is',
101
+ 'is_not',
102
+ 'is_empty',
103
+ 'is_not_empty',
104
+ 'contains',
105
+ 'not_contains',
106
+ ],
107
+ currencyfield: [
108
+ 'is_empty',
109
+ 'is_not_empty',
110
+ 'is_equal_to',
111
+ 'is_not_equal_to',
112
+ 'is_greater_than',
113
+ 'is_less_than',
114
+ 'is_equal_or_greater_than',
115
+ 'is_equal_or_less_than',
116
+ ],
117
+ numberfield: [
118
+ 'is_empty',
119
+ 'is_not_empty',
120
+ 'is_equal_to',
121
+ 'is_not_equal_to',
122
+ 'is_greater_than',
123
+ 'is_less_than',
124
+ 'is_equal_or_greater_than',
125
+ 'is_equal_or_less_than',
126
+ ],
127
+ numbersliderfield: [
128
+ 'is_empty',
129
+ 'is_not_empty',
130
+ 'is_equal_to',
131
+ 'is_not_equal_to',
132
+ 'is_greater_than',
133
+ 'is_less_than',
134
+ 'is_equal_or_greater_than',
135
+ 'is_equal_or_less_than',
136
+ ],
137
+ percentcompletefield: [
138
+ 'is_empty',
139
+ 'is_not_empty',
140
+ 'is_equal_to',
141
+ 'is_not_equal_to',
142
+ 'is_greater_than',
143
+ 'is_less_than',
144
+ 'is_equal_or_greater_than',
145
+ 'is_equal_or_less_than',
146
+ ],
147
+ percentfield: [
148
+ 'is_empty',
149
+ 'is_not_empty',
150
+ 'is_equal_to',
151
+ 'is_not_equal_to',
152
+ 'is_greater_than',
153
+ 'is_less_than',
154
+ 'is_equal_or_greater_than',
155
+ 'is_equal_or_less_than',
156
+ ],
157
+ ratingfield: [
158
+ 'is_empty',
159
+ 'is_not_empty',
160
+ 'is_equal_to',
161
+ 'is_not_equal_to',
162
+ 'is_greater_than',
163
+ 'is_less_than',
164
+ 'is_equal_or_greater_than',
165
+ 'is_equal_or_less_than',
166
+ ],
167
+ votefield: [
168
+ 'is_empty',
169
+ 'is_not_empty',
170
+ 'is_equal_to',
171
+ 'is_not_equal_to',
172
+ 'is_greater_than',
173
+ 'is_less_than',
174
+ 'is_equal_or_greater_than',
175
+ 'is_equal_or_less_than',
176
+ ],
177
+ countfield: [
178
+ 'is_empty',
179
+ 'is_not_empty',
180
+ 'is_equal_to',
181
+ 'is_not_equal_to',
182
+ 'is_greater_than',
183
+ 'is_less_than',
184
+ 'is_equal_or_greater_than',
185
+ 'is_equal_or_less_than',
186
+ ],
187
+ singleselectfield: [
188
+ 'is',
189
+ 'is_not',
190
+ 'is_empty',
191
+ 'is_not_empty',
192
+ 'is_any_of',
193
+ 'is_none_of',
194
+ ],
195
+ multipleselectfield: [
196
+ 'is_empty',
197
+ 'is_not_empty',
198
+ 'has_any_of',
199
+ 'has_all_of',
200
+ 'is_exactly',
201
+ 'has_none_of',
202
+ ],
203
+ statusfield: [
204
+ 'is',
205
+ 'is_not',
206
+ 'is_empty',
207
+ 'is_not_empty',
208
+ 'is_any_of',
209
+ 'is_none_of',
210
+ ],
211
+ tagsfield: [
212
+ 'is_empty',
213
+ 'is_not_empty',
214
+ 'has_any_of',
215
+ 'has_all_of',
216
+ 'is_exactly',
217
+ 'has_none_of',
218
+ ],
219
+ yesnofield: [
220
+ 'is',
221
+ ],
222
+ datefield: [
223
+ 'is',
224
+ 'is_not',
225
+ 'is_empty',
226
+ 'is_not_empty',
227
+ 'is_before',
228
+ 'is_on_or_before',
229
+ 'is_on_or_after',
230
+ ],
231
+ daterangefield: [
232
+ 'is',
233
+ 'is_not',
234
+ 'is_empty',
235
+ 'is_not_empty',
236
+ 'is_before',
237
+ 'is_on_or_before',
238
+ 'is_on_or_after',
239
+ ],
240
+ duedatefield: [
241
+ 'is',
242
+ 'is_not',
243
+ 'is_empty',
244
+ 'is_not_empty',
245
+ 'is_before',
246
+ 'is_on_or_before',
247
+ 'is_on_or_after',
248
+ 'is_overdue',
249
+ 'is_not_overdue',
250
+ ],
251
+ durationfield: [
252
+ 'is_empty',
253
+ 'is_not_empty',
254
+ 'is_equal_to',
255
+ 'is_not_equal_to',
256
+ 'is_greater_than',
257
+ 'is_less_than',
258
+ 'is_equal_or_greater_than',
259
+ 'is_equal_or_less_than',
260
+ ],
261
+ timefield: [
262
+ 'is_empty',
263
+ 'is_not_empty',
264
+ 'is_equal_to',
265
+ 'is_not_equal_to',
266
+ 'is_greater_than',
267
+ 'is_less_than',
268
+ 'is_equal_or_greater_than',
269
+ 'is_equal_or_less_than',
270
+ ],
271
+ timetrackingfield: [
272
+ 'is_empty',
273
+ 'is_not_empty',
274
+ 'is_equal_to',
275
+ 'is_not_equal_to',
276
+ 'is_greater_than',
277
+ 'is_less_than',
278
+ 'is_equal_or_greater_than',
279
+ 'is_equal_or_less_than',
280
+ ],
281
+ rollupfield: [
282
+ 'is_empty',
283
+ 'is_not_empty',
284
+ 'is_equal_to',
285
+ 'is_not_equal_to',
286
+ 'is_greater_than',
287
+ 'is_less_than',
288
+ 'is_equal_or_greater_than',
289
+ 'is_equal_or_less_than',
290
+ ],
291
+ filefield: [
292
+ 'is_empty',
293
+ 'is_not_empty',
294
+ 'file_name_contains',
295
+ 'file_type_is',
296
+ ],
297
+ signaturefield: [
298
+ 'is_empty',
299
+ 'is_not_empty',
300
+ ],
301
+ recordidfield: [
302
+ 'is',
303
+ 'is_not',
304
+ 'contains',
305
+ 'not_contains',
306
+ ],
307
+ firstcreatedfield: [
308
+ 'is',
309
+ 'is_not',
310
+ 'contains',
311
+ 'is_before',
312
+ 'is_on_or_before',
313
+ 'is_on_or_after',
314
+ ],
315
+ lastupdatedfield: [
316
+ 'is',
317
+ 'is_not',
318
+ 'contains',
319
+ 'is_before',
320
+ 'is_on_or_before',
321
+ 'is_on_or_after',
322
+ ],
323
+ commentscountfield: [
324
+ 'is_empty',
325
+ 'is_not_empty',
326
+ 'is_equal_to',
327
+ 'is_not_equal_to',
328
+ 'is_greater_than',
329
+ 'is_less_than',
330
+ 'is_equal_or_greater_than',
331
+ 'is_equal_or_less_than',
332
+ ],
333
+ linkedrecordfield: [
334
+ 'is_empty',
335
+ 'is_not_empty',
336
+ 'contains',
337
+ 'not_contains',
338
+ 'has_any_of',
339
+ 'has_all_of',
340
+ 'is_exactly',
341
+ 'has_none_of',
342
+ ],
343
+ userfield: [
344
+ 'is_empty',
345
+ 'is_not_empty',
346
+ 'has_any_of',
347
+ 'has_all_of',
348
+ 'is_exactly',
349
+ 'has_none_of',
350
+ ],
351
+ autonumberfield: [
352
+ 'is_equal_to',
353
+ 'is_not_equal_to',
354
+ 'is_greater_than',
355
+ 'is_less_than',
356
+ 'is_equal_or_greater_than',
357
+ 'is_equal_or_less_than',
358
+ ],
359
+ subitemsfield: [
360
+ 'is_equal_to',
361
+ 'is_not_equal_to',
362
+ 'is_greater_than',
363
+ 'is_less_than',
364
+ 'is_equal_or_greater_than',
365
+ 'is_equal_or_less_than',
366
+ ],
367
+ };
368
+ /**
369
+ * Returns the list of valid filter comparison operators
370
+ * for a given SmartSuite field type.
371
+ * If the type is unknown, returns an empty array.
372
+ */
373
+ function getFilterOptionsForFieldType(fieldType) {
374
+ return exports.filterOptionsByFieldType[fieldType] ?? [];
375
+ }
376
+ //# sourceMappingURL=getFilterOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFilterOptions.js","sourceRoot":"","sources":["../../../../src/nodes/SmartSuite/helpers/getFilterOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
2
+ /**
3
+ * Return the full list of all supported filter operators,
4
+ * each with a subtitle‐style description for the dropdown.
5
+ */
6
+ export declare function getAllFilterConditions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // src/nodes/SmartSuite/helpers/getValidFilters.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getAllFilterConditions = getAllFilterConditions;
5
+ /**
6
+ * Return the full list of all supported filter operators,
7
+ * each with a subtitle‐style description for the dropdown.
8
+ */
9
+ async function getAllFilterConditions() {
10
+ const ops = [
11
+ ['contains', 'String contains the value (most fields)'],
12
+ ['not_contains', 'String does not contains value (most fields)'],
13
+ ['is', 'Equal to date (date fields)'],
14
+ ['is_not', 'Not equal to date (date fields)'],
15
+ ['is_empty', 'Field has no value (most fields)'],
16
+ ['is_not_empty', 'Field has some value (most fields)'],
17
+ ['has_all_of', 'Arrays, multiple select, linked record'],
18
+ ['has_any_of', 'Arrays, multiple select, linked record'],
19
+ ['has_none_of', 'Multiple select, linked record'],
20
+ ['is_any_of', 'Status & single select'],
21
+ ['is_before', 'Before date (date fields)'],
22
+ ['is_equal_or_greater_than', 'Numeric field'],
23
+ ['is_equal_or_less_than', 'Numeric field'],
24
+ ['is_equal_to', 'Numeric field'],
25
+ ['is_exactly', 'Multiple select, linked record'],
26
+ ['is_greater_than', 'Numeric field'],
27
+ ['is_less_than', 'Numeric field'],
28
+ ['is_not_equal_to', 'Numeric field'],
29
+ ['is_not_overdue', 'Due date'],
30
+ ['is_none_of', 'Status & single select'],
31
+ ['is_on_or_after', 'Date field'],
32
+ ['is_on_or_before', 'Date field'],
33
+ ['is_overdue', 'Due date'],
34
+ ['file_name_contains', 'Files & Images'],
35
+ ['file_type_is', 'Files & Images'],
36
+ ];
37
+ return ops.map(([value, description]) => ({
38
+ name: value
39
+ .split('_')
40
+ .map((w) => w[0].toUpperCase() + w.slice(1))
41
+ .join(' '),
42
+ value,
43
+ description,
44
+ default: value,
45
+ }));
46
+ }
47
+ //# sourceMappingURL=getValidFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValidFilters.js","sourceRoot":"","sources":["../../../../src/nodes/SmartSuite/helpers/getValidFilters.ts"],"names":[],"mappings":";AAAA,kDAAkD;;AAQlD,wDAwCC;AA5CD;;;GAGG;AACI,KAAK,UAAU,sBAAsB;IAG1C,MAAM,GAAG,GAA4B;QACnC,CAAC,UAAU,EAAc,yCAAyC,CAAC;QACnE,CAAC,cAAc,EAAU,8CAA8C,CAAC;QACxE,CAAC,IAAI,EAAoB,6BAA6B,CAAC;QACvD,CAAC,QAAQ,EAAgB,iCAAiC,CAAC;QAC3D,CAAC,UAAU,EAAc,kCAAkC,CAAC;QAC5D,CAAC,cAAc,EAAU,oCAAoC,CAAC;QAC9D,CAAC,YAAY,EAAY,wCAAwC,CAAC;QAClE,CAAC,YAAY,EAAY,wCAAwC,CAAC;QAClE,CAAC,aAAa,EAAW,gCAAgC,CAAC;QAC1D,CAAC,WAAW,EAAa,wBAAwB,CAAC;QAClD,CAAC,WAAW,EAAa,2BAA2B,CAAC;QACrD,CAAC,0BAA0B,EAAE,eAAe,CAAC;QAC7C,CAAC,uBAAuB,EAAK,eAAe,CAAC;QAC7C,CAAC,aAAa,EAAe,eAAe,CAAC;QAC7C,CAAC,YAAY,EAAgB,gCAAgC,CAAC;QAC9D,CAAC,iBAAiB,EAAW,eAAe,CAAC;QAC7C,CAAC,cAAc,EAAc,eAAe,CAAC;QAC7C,CAAC,iBAAiB,EAAW,eAAe,CAAC;QAC7C,CAAC,gBAAgB,EAAY,UAAU,CAAC;QACxC,CAAC,YAAY,EAAgB,wBAAwB,CAAC;QACtD,CAAC,gBAAgB,EAAY,YAAY,CAAC;QAC1C,CAAC,iBAAiB,EAAW,YAAY,CAAC;QAC1C,CAAC,YAAY,EAAgB,UAAU,CAAC;QACxC,CAAC,oBAAoB,EAAQ,gBAAgB,CAAC;QAC9C,CAAC,cAAc,EAAc,gBAAgB,CAAC;KAC/C,CAAC;IAEF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,EAAE,KAAK;aACR,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC3C,IAAI,CAAC,GAAG,CAAC;QACZ,KAAK;QACL,WAAW;QACX,OAAO,EAAE,KAAK;KACf,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { IExecuteFunctions } from 'n8n-workflow';
2
+ /**
3
+ * Flattens an n8n “resourceLocator” value into its raw ID string.
4
+ */
5
+ export declare function asIdString(input: unknown): string;
6
+ /**
7
+ * Debug logger (gated by SMARTSUITE_DEBUG / SMARTSUITE_DEBUG_LEVEL).
8
+ */
9
+ export declare function debugLog(msg: string, data?: unknown, level?: number): void;
10
+ /**
11
+ * Validate a resourceLocator (list/id): throw NodeOperationError if missing or invalid.
12
+ */
13
+ export declare function requireParam(this: IExecuteFunctions, paramName: string, label: string, itemIndex?: number, pattern?: RegExp, patternMessage?: string): string;
14
+ /**
15
+ * Fields that SmartSuite manages internally (cannot be set via API).
16
+ */
17
+ export declare const RESERVED_FIELDS: readonly ["autonumber", "count", "first_created", "formula", "last_updated", "record_id", "rollup", "vote"];
18
+ /**
19
+ * Test whether a field-slug is one of those reserved.
20
+ */
21
+ export declare function isReservedField(slug: string): boolean;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ // src/nodes/SmartSuite/helpers/utils.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.RESERVED_FIELDS = void 0;
5
+ exports.asIdString = asIdString;
6
+ exports.debugLog = debugLog;
7
+ exports.requireParam = requireParam;
8
+ exports.isReservedField = isReservedField;
9
+ const n8n_workflow_1 = require("n8n-workflow");
10
+ /**
11
+ * Flattens an n8n “resourceLocator” value into its raw ID string.
12
+ */
13
+ function asIdString(input) {
14
+ if (typeof input === 'object' && input !== null && 'value' in input) {
15
+ return input.value;
16
+ }
17
+ return String(input ?? '');
18
+ }
19
+ /**
20
+ * Debug logger (gated by SMARTSUITE_DEBUG / SMARTSUITE_DEBUG_LEVEL).
21
+ */
22
+ function debugLog(msg, data, level = 1) {
23
+ const envDebug = process.env.SMARTSUITE_DEBUG?.toLowerCase() === 'true';
24
+ const envLevel = parseInt(process.env.SMARTSUITE_DEBUG_LEVEL || '1', 10);
25
+ if (!envDebug || envLevel < level)
26
+ return;
27
+ console.log('[SmartSuite DEBUG]', msg, ...(data !== undefined ? [data] : []));
28
+ }
29
+ /**
30
+ * Validate a resourceLocator (list/id): throw NodeOperationError if missing or invalid.
31
+ */
32
+ function requireParam(paramName, label, itemIndex = 0, pattern, patternMessage) {
33
+ const raw = this.getNodeParameter(paramName, itemIndex);
34
+ const id = asIdString(raw);
35
+ if (!id) {
36
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `${label} must be selected.`, { itemIndex });
37
+ }
38
+ if (pattern && !pattern.test(id)) {
39
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), patternMessage ?? `${label} must be valid.`, { itemIndex });
40
+ }
41
+ return id;
42
+ }
43
+ /**
44
+ * Fields that SmartSuite manages internally (cannot be set via API).
45
+ */
46
+ exports.RESERVED_FIELDS = [
47
+ 'autonumber',
48
+ 'count',
49
+ 'first_created',
50
+ 'formula',
51
+ 'last_updated',
52
+ 'record_id',
53
+ 'rollup',
54
+ 'vote',
55
+ ];
56
+ /**
57
+ * Test whether a field-slug is one of those reserved.
58
+ */
59
+ function isReservedField(slug) {
60
+ return exports.RESERVED_FIELDS.includes(slug);
61
+ }
62
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/nodes/SmartSuite/helpers/utils.ts"],"names":[],"mappings":";AAAA,wCAAwC;;;AAQxC,gCAKC;AAKD,4BAKC;AAKD,oCAyBC;AAmBD,0CAEC;AAxED,+CAAkD;AAGlD;;GAEG;AACH,SAAgB,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAK,KAAa,EAAE,CAAC;QAC7E,OAAQ,KAAa,CAAC,KAAe,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAW,EAAE,IAAc,EAAE,KAAK,GAAG,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC;IACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG,KAAK;QAAE,OAAO;IAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAE1B,SAAiB,EACjB,KAAa,EACb,SAAS,GAAG,CAAC,EACb,OAAgB,EAChB,cAAuB;IAEvB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,GAAG,KAAK,oBAAoB,EAC5B,EAAE,SAAS,EAAE,CACd,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,cAAc,IAAI,GAAG,KAAK,iBAAiB,EAC3C,EAAE,SAAS,EAAE,CACd,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACU,QAAA,eAAe,GAAG;IAC7B,YAAY;IACZ,OAAO;IACP,eAAe;IACf,SAAS;IACT,cAAc;IACd,WAAW;IACX,QAAQ;IACR,MAAM;CACE,CAAC;AAEX;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAQ,uBAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { IExecuteFunctions } from 'n8n-workflow';
2
+ /**
3
+ * Ensures solutionId is present, then verifies it exists.
4
+ */
5
+ export declare function getSolutionId(this: IExecuteFunctions, itemIndex?: number): Promise<string>;
6
+ /**
7
+ * Ensures tableId is present, then verifies it exists.
8
+ */
9
+ export declare function getTableId(this: IExecuteFunctions, itemIndex?: number): Promise<string>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // src/nodes/SmartSuite/helpers/validation.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getSolutionId = getSolutionId;
5
+ exports.getTableId = getTableId;
6
+ const n8n_workflow_1 = require("n8n-workflow");
7
+ const utils_1 = require("./utils");
8
+ const smartSuiteApi_1 = require("../transport/smartSuiteApi");
9
+ /**
10
+ * Ensures solutionId is present, then verifies it exists.
11
+ */
12
+ async function getSolutionId(itemIndex = 0) {
13
+ const id = utils_1.requireParam.call(this, 'solutionId', 'Solution', itemIndex);
14
+ try {
15
+ await smartSuiteApi_1.apiRequest.call(this, 'GET', `/solutions/${id}/`);
16
+ }
17
+ catch (err) {
18
+ if (err.message.includes('404')) {
19
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Solution not found for ID "${id}".`, { itemIndex });
20
+ }
21
+ throw err;
22
+ }
23
+ return id;
24
+ }
25
+ /**
26
+ * Ensures tableId is present, then verifies it exists.
27
+ */
28
+ async function getTableId(itemIndex = 0) {
29
+ const id = utils_1.requireParam.call(this, 'tableId', 'Table', itemIndex);
30
+ try {
31
+ await smartSuiteApi_1.apiRequest.call(this, 'GET', `/applications/${id}`);
32
+ }
33
+ catch (err) {
34
+ if (err.message.includes('404')) {
35
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Table not found for ID "${id}".`, { itemIndex });
36
+ }
37
+ throw err;
38
+ }
39
+ return id;
40
+ }
41
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/nodes/SmartSuite/helpers/validation.ts"],"names":[],"mappings":";AAAA,6CAA6C;;AAU7C,sCAkBC;AAKD,gCAkBC;AAhDD,+CAAkD;AAClD,mCAAuC;AACvC,8DAAwD;AAExD;;GAEG;AACI,KAAK,UAAU,aAAa,CAEjC,SAAS,GAAG,CAAC;IAEb,MAAM,EAAE,GAAG,oBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,0BAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,8BAA8B,EAAE,IAAI,EACpC,EAAE,SAAS,EAAE,CACd,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU,CAE9B,SAAS,GAAG,CAAC;IAEb,MAAM,EAAE,GAAG,oBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,0BAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,2BAA2B,EAAE,IAAI,EACjC,EAAE,SAAS,EAAE,CACd,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default as nodeClass } from './SmartSuite.node';
2
+ export { default as triggerClass } from './SmartSuiteTrigger.node';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ // src/nodes/SmartSuite/index.ts
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.triggerClass = exports.nodeClass = void 0;
8
+ var SmartSuite_node_1 = require("./SmartSuite.node");
9
+ Object.defineProperty(exports, "nodeClass", { enumerable: true, get: function () { return __importDefault(SmartSuite_node_1).default; } });
10
+ var SmartSuiteTrigger_node_1 = require("./SmartSuiteTrigger.node");
11
+ Object.defineProperty(exports, "triggerClass", { enumerable: true, get: function () { return __importDefault(SmartSuiteTrigger_node_1).default; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nodes/SmartSuite/index.ts"],"names":[],"mappings":";AAAA,gCAAgC;;;;;;AAEhC,qDAA4D;AAAnD,6HAAA,OAAO,OAAa;AAC7B,mEAAmE;AAA1D,uIAAA,OAAO,OAAgB"}
@@ -0,0 +1,11 @@
1
+ import type { ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
2
+ export declare const solutionSearch: (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>;
3
+ export declare const tableSearch: (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>;
4
+ export declare const searchTableFields: (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>;
5
+ export declare const searchTableFieldsMutable: (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>;
6
+ export declare const listSearch: {
7
+ solutionSearch: (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>;
8
+ tableSearch: (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>;
9
+ searchTableFields: (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>;
10
+ searchTableFieldsMutable: (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>;
11
+ };