@teleporthq/teleport-plugin-next-workflows 0.43.32 → 0.43.33

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.
@@ -149,9 +149,26 @@ async function safeQuery(client, sql, params, mode) {
149
149
  }
150
150
  }
151
151
 
152
- function buildWhereClause(filters, queryParams, startIndex) {
152
+ function isSkippableFilterValue(value) {
153
+ if (value === undefined || value === null) return true;
154
+ if (typeof value === 'string' && value.trim() === '') return true;
155
+ if (Array.isArray(value) && value.length === 0) return true;
156
+ return false;
157
+ }
158
+
159
+ function isAllSentinelFilterValue(value, filter) {
160
+ if (typeof value !== 'string') return false;
161
+ var normalized = value.trim().toLowerCase();
162
+ if (filter && typeof filter.treatAsAll === 'string' && filter.treatAsAll.trim().toLowerCase() === normalized) {
163
+ return true;
164
+ }
165
+ return normalized === 'all' || normalized === 'any' || normalized === 'everything' || normalized === '__all__';
166
+ }
167
+
168
+ function buildWhereClause(filters, queryParams, startIndex, options) {
153
169
  var conditions = [];
154
170
  var paramIndex = startIndex;
171
+ var skipOptionalEmpty = !!(options && options.skipOptionalEmpty);
155
172
 
156
173
  if (!filters || !Array.isArray(filters) || filters.length === 0) {
157
174
  return { clause: '', paramIndex: paramIndex };
@@ -167,6 +184,7 @@ function buildWhereClause(filters, queryParams, startIndex) {
167
184
  var operand = f.operand || f.operator || '=';
168
185
 
169
186
  if (value === undefined) continue;
187
+ if (skipOptionalEmpty && (isSkippableFilterValue(value) || isAllSentinelFilterValue(value, f))) continue;
170
188
 
171
189
  if (Array.isArray(value)) {
172
190
  if (value.length === 0) continue;
@@ -184,6 +202,37 @@ function buildWhereClause(filters, queryParams, startIndex) {
184
202
  conditions.push(field + ' IS NOT NULL');
185
203
  }
186
204
  } else {
205
+ var normalizedOperand = String(operand || '=').toLowerCase();
206
+ if (normalizedOperand === 'contains' || normalizedOperand === 'not_contains' || normalizedOperand === 'not-contains') {
207
+ if (isSkippableFilterValue(value)) {
208
+ conditions.push('FALSE');
209
+ continue;
210
+ }
211
+ conditions.push(field + (normalizedOperand === 'contains' ? ' ILIKE ' : ' NOT ILIKE ') + '$' + paramIndex);
212
+ queryParams.push('%' + String(value) + '%');
213
+ paramIndex++;
214
+ continue;
215
+ }
216
+ if (normalizedOperand === 'startswith' || normalizedOperand === 'starts_with' || normalizedOperand === 'starts-with') {
217
+ if (isSkippableFilterValue(value)) {
218
+ conditions.push('FALSE');
219
+ continue;
220
+ }
221
+ conditions.push(field + ' ILIKE $' + paramIndex);
222
+ queryParams.push(String(value) + '%');
223
+ paramIndex++;
224
+ continue;
225
+ }
226
+ if (normalizedOperand === 'endswith' || normalizedOperand === 'ends_with' || normalizedOperand === 'ends-with') {
227
+ if (isSkippableFilterValue(value)) {
228
+ conditions.push('FALSE');
229
+ continue;
230
+ }
231
+ conditions.push(field + ' ILIKE $' + paramIndex);
232
+ queryParams.push('%' + String(value));
233
+ paramIndex++;
234
+ continue;
235
+ }
187
236
  var validOps = ['=', '!=', '>', '<', '>=', '<=', 'LIKE', 'ILIKE'];
188
237
  var sqlOp = validOps.indexOf(operand) !== -1 ? operand : '=';
189
238
  conditions.push(field + ' ' + sqlOp + ' $' + paramIndex);
@@ -226,7 +275,7 @@ async function handleSelect(client, body) {
226
275
  var cols = selectedColumns.length > 0 ? selectedColumns.join(', ') : '*';
227
276
  var sql = 'SELECT ' + cols + ' FROM ' + tableName;
228
277
 
229
- var where = buildWhereClause(filters, queryParams, 1);
278
+ var where = buildWhereClause(filters, queryParams, 1, { skipOptionalEmpty: true });
230
279
  sql += where.clause;
231
280
 
232
281
  if (sorts.length > 0) {
@@ -262,7 +311,7 @@ async function handleSelect(client, body) {
262
311
 
263
312
  var countSql = 'SELECT COUNT(*) FROM ' + tableName;
264
313
  var countParams = [];
265
- var countWhere = buildWhereClause(filters, countParams, 1);
314
+ var countWhere = buildWhereClause(filters, countParams, 1, { skipOptionalEmpty: true });
266
315
  countSql += countWhere.clause;
267
316
  var countResult = await safeQuery(client, countSql, countParams, 'count');
268
317
  var count = parseInt(countResult.rows[0].count, 10);
@@ -279,7 +328,7 @@ async function handleCount(client, body) {
279
328
 
280
329
  var queryParams = [];
281
330
  var sql = 'SELECT COUNT(*) FROM ' + tableName;
282
- var where = buildWhereClause(filters, queryParams, 1);
331
+ var where = buildWhereClause(filters, queryParams, 1, { skipOptionalEmpty: true });
283
332
  sql += where.clause;
284
333
 
285
334
  var result = await safeQuery(client, sql, queryParams, 'count');
@@ -1 +1 @@
1
- {"version":3,"file":"data-api-route-generator.js","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;CACjB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAA0B,EAAW,EAAE;IACvE,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE;QAC9B,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAqBD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAA+B,EAAE,EAAU,EAAE;IAChF,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAA;IAChD,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAA;IACzD,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAA;IAC7D,MAAM,iBAAiB,GACrB,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,OAAO,CAAC,iBAAiB,IAAI,CAAC;QAC7E,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC3B,CAAC,CAAC,CAAC,CAAA;IAEP,OAAO;EAEP,cAAc,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EACxE,4BAA4B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;mCACvB,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;8BAC1C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;EAC7D,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyuBd,CAAA;AACD,CAAC,CAAA"}
1
+ {"version":3,"file":"data-api-route-generator.js","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;CACjB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAA0B,EAAW,EAAE;IACvE,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE;QAC9B,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAqBD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAA+B,EAAE,EAAU,EAAE;IAChF,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAA;IAChD,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAA;IACzD,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAA;IAC7D,MAAM,iBAAiB,GACrB,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,OAAO,CAAC,iBAAiB,IAAI,CAAC;QAC7E,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC3B,CAAC,CAAC,CAAC,CAAA;IAEP,OAAO;EAEP,cAAc,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EACxE,4BAA4B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;mCACvB,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;8BAC1C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;EAC7D,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0xBd,CAAA;AACD,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-select.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAoEhE,eAAO,MAAM,UAAU,EAAE,oBAMxB,CAAA"}
1
+ {"version":3,"file":"data-select.d.ts","sourceRoot":"","sources":["../../../../src/nodes/data/data-select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAwGhE,eAAO,MAAM,UAAU,EAAE,oBAMxB,CAAA"}
@@ -9,6 +9,45 @@ async function data_select(config, context) {
9
9
  const skip = config.skip;
10
10
  const rawQueryUserPart = config.rawQueryUserPart;
11
11
  const baseUrl = (context && context.__baseUrl) || '';
12
+ function isEmptyFilterValue(value) {
13
+ if (value === undefined || value === null)
14
+ return true;
15
+ if (typeof value === 'string' && value.trim() === '')
16
+ return true;
17
+ if (Array.isArray(value) && value.length === 0)
18
+ return true;
19
+ return false;
20
+ }
21
+ function isAllSentinel(value, filter) {
22
+ if (typeof value !== 'string')
23
+ return false;
24
+ const normalized = value.trim().toLowerCase();
25
+ const configured = filter && filter.treatAsAll;
26
+ if (typeof configured === 'string' && configured.trim().toLowerCase() === normalized) {
27
+ return true;
28
+ }
29
+ return (normalized === 'all' ||
30
+ normalized === 'any' ||
31
+ normalized === 'everything' ||
32
+ normalized === '__all__');
33
+ }
34
+ function shouldSkipOptionalFilter(filter) {
35
+ if (!filter)
36
+ return true;
37
+ const value = filter.destination !== undefined ? filter.destination : filter.value;
38
+ if (isEmptyFilterValue(value))
39
+ return true;
40
+ if (isAllSentinel(value, filter))
41
+ return true;
42
+ if (Array.isArray(filter.skipIfValue) && filter.skipIfValue.indexOf(value) !== -1)
43
+ return true;
44
+ if (filter.skipIfEmpty === true && isEmptyFilterValue(value))
45
+ return true;
46
+ return false;
47
+ }
48
+ const effectiveFilters = filters.filter(function (filter) {
49
+ return !shouldSkipOptionalFilter(filter);
50
+ });
12
51
  // A filter whose value is the unresolved route-param sentinel (see
13
52
  // resolveTemplateTokenString in runtime-utils) — e.g. a select scoped to
14
53
  // {{Current Page Entity.id}} that runs on a page with no such route param
@@ -17,8 +56,8 @@ async function data_select(config, context) {
17
56
  // WHOLE workflow (a single unresolvable filter must never kill the note-create
18
57
  // submit). Never fall through to an unscoped query. Observable via the warn +
19
58
  // the __skippedUnavailableFilter marker.
20
- for (let __fi = 0; __fi < filters.length; __fi++) {
21
- const __f = filters[__fi];
59
+ for (let __fi = 0; __fi < effectiveFilters.length; __fi++) {
60
+ const __f = effectiveFilters[__fi];
22
61
  if (__f &&
23
62
  (__f.value === '__TQ_UNRESOLVED_ROUTE_PARAM__' ||
24
63
  __f.destination === '__TQ_UNRESOLVED_ROUTE_PARAM__')) {
@@ -32,7 +71,7 @@ async function data_select(config, context) {
32
71
  }
33
72
  }
34
73
  try {
35
- const payload = { tableName, filters, sorts, selectedColumns };
74
+ const payload = { tableName, filters: effectiveFilters, sorts, selectedColumns };
36
75
  if (limit !== undefined && limit !== null) {
37
76
  payload.limit = limit;
38
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-select.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-select.js","sourceRoot":"","sources":["../../../../src/nodes/data/data-select.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"general-extract-form-data.d.ts","sourceRoot":"","sources":["../../../../src/nodes/general/general-extract-form-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA2KhE,eAAO,MAAM,sBAAsB,EAAE,oBAMpC,CAAA"}
1
+ {"version":3,"file":"general-extract-form-data.d.ts","sourceRoot":"","sources":["../../../../src/nodes/general/general-extract-form-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA+MhE,eAAO,MAAM,sBAAsB,EAAE,oBAMpC,CAAA"}
@@ -93,10 +93,46 @@ async function general_extract_form_data(config, context) {
93
93
  }
94
94
  }
95
95
  const fieldKeys = Object.keys(fields);
96
- const result = { fields };
96
+ const result = { fields, formData: fields };
97
97
  for (let fi = 0; fi < fieldKeys.length; fi++) {
98
98
  result[fieldKeys[fi]] = fields[fieldKeys[fi]];
99
99
  }
100
+ // Workflows generated/imported from HTML often refer to a form control by
101
+ // its DOM id (`class-session-select`) while FormData exposes submitted
102
+ // values by name (`class_session_id`). Preserve the canonical name keys
103
+ // above, and add non-overwriting aliases for id/data-form-field-id so both
104
+ // conventions resolve to the same submitted value.
105
+ try {
106
+ const addAlias = (alias, name) => {
107
+ if (!alias || !name)
108
+ return;
109
+ if (fields[name] === undefined)
110
+ return;
111
+ if (result[alias] === undefined) {
112
+ result[alias] = fields[name];
113
+ }
114
+ };
115
+ const controls = formEl.querySelectorAll('input[name], select[name], textarea[name], button[name]');
116
+ for (let ci = 0; ci < controls.length; ci++) {
117
+ const control = controls[ci];
118
+ addAlias(control.id, control.name);
119
+ addAlias(control.getAttribute('data-form-field-id'), control.name);
120
+ }
121
+ const outsideControls = document.querySelectorAll('input[name], select[name], textarea[name], button[name]');
122
+ for (let oi = 0; oi < outsideControls.length; oi++) {
123
+ const control = outsideControls[oi];
124
+ if (formEl.contains(control))
125
+ continue;
126
+ const ownerForm = control.closest('form');
127
+ if (ownerForm && ownerForm !== formEl)
128
+ continue;
129
+ addAlias(control.id, control.name);
130
+ addAlias(control.getAttribute('data-form-field-id'), control.name);
131
+ }
132
+ }
133
+ catch (_aliasErr) {
134
+ /* aliases are best-effort; canonical name-based fields remain intact */
135
+ }
100
136
  // Diagnostic: surface any required inputs whose value is empty at extraction
101
137
  // time so downstream custom-JS validators have something concrete to report
102
138
  // instead of a generic "please fill in all required fields" message.
@@ -1 +1 @@
1
- {"version":3,"file":"general-extract-form-data.js","sourceRoot":"","sources":["../../../../src/nodes/general/general-extract-form-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general-extract-form-data.js","sourceRoot":"","sources":["../../../../src/nodes/general/general-extract-form-data.ts"],"names":[],"mappings":"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"}