@teleporthq/teleport-plugin-next-data-source 0.43.41 → 0.43.44

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 (87) hide show
  1. package/__tests__/ecommerce-product-variant-swatch.test.ts +93 -0
  2. package/__tests__/fetchers.test.ts +11 -0
  3. package/dist/cjs/array-mapper-registry.d.ts +0 -1
  4. package/dist/cjs/array-mapper-registry.d.ts.map +1 -1
  5. package/dist/cjs/array-mapper-registry.js +0 -3
  6. package/dist/cjs/array-mapper-registry.js.map +1 -1
  7. package/dist/cjs/data-source-fetchers.d.ts +3 -3
  8. package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
  9. package/dist/cjs/data-source-fetchers.js +4 -4
  10. package/dist/cjs/data-source-fetchers.js.map +1 -1
  11. package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
  12. package/dist/cjs/fetchers/postgresql.js +1 -1
  13. package/dist/cjs/fetchers/postgresql.js.map +1 -1
  14. package/dist/cjs/fetchers/teleport.d.ts +2 -1
  15. package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
  16. package/dist/cjs/fetchers/teleport.js +3 -3
  17. package/dist/cjs/fetchers/teleport.js.map +1 -1
  18. package/dist/cjs/filter-utils.d.ts.map +1 -1
  19. package/dist/cjs/filter-utils.js +12 -3
  20. package/dist/cjs/filter-utils.js.map +1 -1
  21. package/dist/cjs/index.d.ts.map +1 -1
  22. package/dist/cjs/index.js +8 -7
  23. package/dist/cjs/index.js.map +1 -1
  24. package/dist/cjs/pagination-plugin.d.ts.map +1 -1
  25. package/dist/cjs/pagination-plugin.js +12 -19
  26. package/dist/cjs/pagination-plugin.js.map +1 -1
  27. package/dist/cjs/transformations/ecommerce-product.d.ts +2 -1
  28. package/dist/cjs/transformations/ecommerce-product.d.ts.map +1 -1
  29. package/dist/cjs/transformations/ecommerce-product.js +36 -2
  30. package/dist/cjs/transformations/ecommerce-product.js.map +1 -1
  31. package/dist/cjs/transformations/index.d.ts +2 -1
  32. package/dist/cjs/transformations/index.d.ts.map +1 -1
  33. package/dist/cjs/transformations/index.js +9 -3
  34. package/dist/cjs/transformations/index.js.map +1 -1
  35. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  36. package/dist/cjs/utils.d.ts +3 -3
  37. package/dist/cjs/utils.d.ts.map +1 -1
  38. package/dist/cjs/utils.js +4 -4
  39. package/dist/cjs/utils.js.map +1 -1
  40. package/dist/esm/array-mapper-registry.d.ts +0 -1
  41. package/dist/esm/array-mapper-registry.d.ts.map +1 -1
  42. package/dist/esm/array-mapper-registry.js +0 -3
  43. package/dist/esm/array-mapper-registry.js.map +1 -1
  44. package/dist/esm/data-source-fetchers.d.ts +3 -3
  45. package/dist/esm/data-source-fetchers.d.ts.map +1 -1
  46. package/dist/esm/data-source-fetchers.js +4 -4
  47. package/dist/esm/data-source-fetchers.js.map +1 -1
  48. package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
  49. package/dist/esm/fetchers/postgresql.js +1 -1
  50. package/dist/esm/fetchers/postgresql.js.map +1 -1
  51. package/dist/esm/fetchers/teleport.d.ts +2 -1
  52. package/dist/esm/fetchers/teleport.d.ts.map +1 -1
  53. package/dist/esm/fetchers/teleport.js +3 -3
  54. package/dist/esm/fetchers/teleport.js.map +1 -1
  55. package/dist/esm/filter-utils.d.ts.map +1 -1
  56. package/dist/esm/filter-utils.js +12 -3
  57. package/dist/esm/filter-utils.js.map +1 -1
  58. package/dist/esm/index.d.ts.map +1 -1
  59. package/dist/esm/index.js +8 -7
  60. package/dist/esm/index.js.map +1 -1
  61. package/dist/esm/pagination-plugin.d.ts.map +1 -1
  62. package/dist/esm/pagination-plugin.js +12 -19
  63. package/dist/esm/pagination-plugin.js.map +1 -1
  64. package/dist/esm/transformations/ecommerce-product.d.ts +2 -1
  65. package/dist/esm/transformations/ecommerce-product.d.ts.map +1 -1
  66. package/dist/esm/transformations/ecommerce-product.js +36 -2
  67. package/dist/esm/transformations/ecommerce-product.js.map +1 -1
  68. package/dist/esm/transformations/index.d.ts +2 -1
  69. package/dist/esm/transformations/index.d.ts.map +1 -1
  70. package/dist/esm/transformations/index.js +9 -3
  71. package/dist/esm/transformations/index.js.map +1 -1
  72. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  73. package/dist/esm/utils.d.ts +3 -3
  74. package/dist/esm/utils.d.ts.map +1 -1
  75. package/dist/esm/utils.js +4 -4
  76. package/dist/esm/utils.js.map +1 -1
  77. package/package.json +5 -5
  78. package/src/array-mapper-registry.ts +0 -5
  79. package/src/data-source-fetchers.ts +10 -5
  80. package/src/fetchers/postgresql.ts +17 -0
  81. package/src/fetchers/teleport.ts +38 -3
  82. package/src/filter-utils.ts +32 -5
  83. package/src/index.ts +9 -4
  84. package/src/pagination-plugin.ts +20 -42
  85. package/src/transformations/ecommerce-product.ts +430 -1
  86. package/src/transformations/index.ts +28 -4
  87. package/src/utils.ts +12 -4
@@ -0,0 +1,93 @@
1
+ import { generateEcommerceProductTransformationCode } from '../src/transformations/ecommerce-product'
2
+ import { generateSharedTransformationCode } from '../src/transformations/shared-utils'
3
+
4
+ // The storefront variant picker gates a colour circle vs a text pill per VALUE
5
+ // on the enriched `showSwatch` string flag. This transform MUST mirror the
6
+ // renderer enrichment (packages/renderer/src/utils/ecommerce-products.ts) —
7
+ // otherwise the editor canvas shows colour circles but the generated Next.js app
8
+ // shows the colour name as text.
9
+
10
+ const evalBuildProduct = (): ((record: unknown) => Record<string, unknown>) => {
11
+ const code =
12
+ generateSharedTransformationCode() + '\n' + generateEcommerceProductTransformationCode()
13
+ const fn = new Function(code + '\nreturn buildEcommerceProduct;')
14
+ return fn() as (record: unknown) => Record<string, unknown>
15
+ }
16
+
17
+ interface VariantAxis {
18
+ key: string
19
+ name: string
20
+ type: string
21
+ values: Array<Record<string, unknown>>
22
+ }
23
+
24
+ const buildEcommerceProduct = evalBuildProduct()
25
+
26
+ const productWithAxes = () =>
27
+ buildEcommerceProduct({
28
+ id: 'p1',
29
+ name: 'Tee',
30
+ slug: 'tee',
31
+ price: '20',
32
+ currency: 'USD',
33
+ variant_options: JSON.stringify([
34
+ {
35
+ key: 'size',
36
+ name: 'Size',
37
+ type: 'text',
38
+ values: [
39
+ { value: 's', label: 'S' },
40
+ { value: 'm', label: 'M' },
41
+ ],
42
+ },
43
+ {
44
+ key: 'color',
45
+ name: 'Colour',
46
+ type: 'color',
47
+ values: [
48
+ { value: 'red', label: 'Red', color: '#ef4444' },
49
+ { value: 'blue', label: 'Blue', color: '#3b82f6' },
50
+ // A colour axis value WITHOUT a resolvable colour must degrade to a
51
+ // text pill, never an invisible empty circle.
52
+ { value: 'plain', label: 'Plain' },
53
+ ],
54
+ },
55
+ ]),
56
+ })
57
+
58
+ describe('ecommerce product transform — variant showSwatch string contract', () => {
59
+ it('emits showSwatch "true" for colour-axis values that carry a colour', () => {
60
+ const product = productWithAxes()
61
+ const axes = product.variantOptions as VariantAxis[]
62
+ const colour = axes.find((a) => a.key === 'color')!
63
+ expect(colour.values[0].showSwatch).toBe('true')
64
+ expect(colour.values[1].showSwatch).toBe('true')
65
+ })
66
+
67
+ it('emits showSwatch "false" for a colour value with no resolvable colour', () => {
68
+ const product = productWithAxes()
69
+ const axes = product.variantOptions as VariantAxis[]
70
+ const colour = axes.find((a) => a.key === 'color')!
71
+ expect(colour.values[2].showSwatch).toBe('false')
72
+ })
73
+
74
+ it('emits showSwatch "false" for every value of a text axis', () => {
75
+ const product = productWithAxes()
76
+ const axes = product.variantOptions as VariantAxis[]
77
+ const size = axes.find((a) => a.key === 'size')!
78
+ for (const v of size.values) {
79
+ expect(v.showSwatch).toBe('false')
80
+ }
81
+ })
82
+
83
+ it('always emits showSwatch as a STRING (never boolean/undefined)', () => {
84
+ const product = productWithAxes()
85
+ const axes = product.variantOptions as VariantAxis[]
86
+ for (const axis of axes) {
87
+ for (const v of axis.values) {
88
+ expect(typeof v.showSwatch).toBe('string')
89
+ expect(['true', 'false']).toContain(v.showSwatch)
90
+ }
91
+ }
92
+ })
93
+ })
@@ -350,6 +350,17 @@ describe('generateDataSourceFetcher', () => {
350
350
  expect(code).toContain('FROM')
351
351
  })
352
352
 
353
+ it('splits a comma-joined array_overlap destination into multiple ids (multi-category filter)', () => {
354
+ const dataSource = createPostgreSQLDataSource('ds-1')
355
+ const code = generateDataSourceFetcher(dataSource, 'teleport_products')
356
+
357
+ // The multi-select Category Filter writes ?categoryFilter=a,b,c; the scalar
358
+ // array_overlap branch splits it so jsonb_exists_any matches the union.
359
+ expect(code).toContain('array_overlap')
360
+ expect(code).toContain('jsonb_exists_any')
361
+ expect(code).toContain("String(value).split(',')")
362
+ })
363
+
353
364
  it('generates MongoDB fetcher', () => {
354
365
  const dataSource = createMongoDBDataSource('ds-1')
355
366
  const code = generateDataSourceFetcher(dataSource, 'orders')
@@ -34,7 +34,6 @@ export interface ArrayMapperRegistryEntry {
34
34
  debouncedSearchQueryVar?: string;
35
35
  setDebouncedSearchQueryVar?: string;
36
36
  skipDebounceRefVar?: string;
37
- skipCountFetchRefVar?: string;
38
37
  getStaticPropsDataVar: string;
39
38
  getStaticPropsMaxPagesVar: string;
40
39
  getStaticPropsPropName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"array-mapper-registry.d.ts","sourceRoot":"","sources":["../../src/array-mapper-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,iBAAiB,GAAG,aAAa,GAAG,OAAO,CAAA;AAElF,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,eAAe,EAAE,MAAM,CAAA;IAEvB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAA;IAEtB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,yBAAyB,EAAE,MAAM,CAAA;IACjC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,8BAA8B,EAAE,MAAM,CAAA;IAEtC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,cAAc,CAAC,EAAE,GAAG,CAAA;CACrB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,UAAU,CAAI;IAEtB,gBAAgB,CAAC,MAAM,EAAE;QACvB,oBAAoB,EAAE,MAAM,CAAA;QAC5B,qBAAqB,EAAE,MAAM,CAAA;QAC7B,eAAe,EAAE,MAAM,CAAA;QACvB,SAAS,EAAE,OAAO,CAAA;QAClB,aAAa,EAAE,OAAO,CAAA;QACtB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KACxB,GAAG,wBAAwB;IAgC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAIrE,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAIlF,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,wBAAwB,EAAE;IAI9D,aAAa,IAAI,wBAAwB,EAAE;IAI3C,mBAAmB,IAAI,wBAAwB,EAAE;IAIjD,wBAAwB,IAAI,wBAAwB,EAAE;IAItD,oBAAoB,IAAI,wBAAwB,EAAE;IAIlD,eAAe,IAAI,wBAAwB,EAAE;IAI7C,mBAAmB,CACjB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,CACd,IAAI,CACF,wBAAwB,EACtB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,CACpB,CACF,GACA,IAAI;IAOP,sCAAsC,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM;IAI/E,cAAc,IAAI,MAAM;IAgBxB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,qBAAqB;IAyC7B,OAAO,CAAC,8BAA8B;IAyCtC,OAAO,CAAC,UAAU;CAGnB;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,GAAG,mBAAmB,CA2F5F"}
1
+ {"version":3,"file":"array-mapper-registry.d.ts","sourceRoot":"","sources":["../../src/array-mapper-registry.ts"],"names":[],"mappings":"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"}
@@ -180,9 +180,6 @@ var ArrayMapperRegistry = /** @class */ (function () {
180
180
  result.debouncedSearchQueryVar = "debouncedSearch_".concat(prefix, "_query");
181
181
  result.setDebouncedSearchQueryVar = "setDebouncedSearch_".concat(prefix, "_query");
182
182
  result.skipDebounceRefVar = "skipDebounceOnMount_".concat(prefix);
183
- if (paginated) {
184
- result.skipCountFetchRefVar = "skipCountFetchOnMount_".concat(prefix);
185
- }
186
183
  }
187
184
  return result;
188
185
  };
@@ -1 +1 @@
1
- {"version":3,"file":"array-mapper-registry.js","sourceRoot":"","sources":["../../src/array-mapper-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;AA8CH;IAAA;QACU,YAAO,GAA+B,EAAE,CAAA;QACxC,mBAAc,GAAG,CAAC,CAAA;QAClB,wBAAmB,GAAG,CAAC,CAAA;QACvB,oBAAe,GAAG,CAAC,CAAA;QACnB,eAAU,GAAG,CAAC,CAAA;IA0QxB,CAAC;IAxQC,8CAAgB,GAAhB,UAAiB,MAUhB;QACC,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;QACvE,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzC,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QAEzC,IAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAEnE,IAAM,KAAK,uBACT,aAAa,eAAA,EACb,IAAI,MAAA,EACJ,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EACjD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EACnD,eAAe,EAAE,MAAM,CAAC,eAAe,EAEvC,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAC7B,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,GAAG,EAC5C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAC7C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,EAEvC,cAAc,gBAAA,IACX,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,GAClF,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,EAAE,SAAS,CAAC,CACrF,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAE7B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,sCAAQ,GAAR,UAAS,aAAqB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACpC,CAAC;IAED,iDAAmB,GAAnB,UAAoB,eAAuB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,KAAK,eAAe,EAArC,CAAqC,CAAC,CAAA;IACxE,CAAC;IAED,8CAAgB,GAAhB,UAAiB,IAAgB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,IAAI,EAAf,CAAe,CAAC,CAAA;IACpD,CAAC;IAED,2CAAa,GAAb;QACE,yBAAW,IAAI,CAAC,OAAO,QAAC;IAC1B,CAAC;IAED,iDAAmB,GAAnB;QACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAC3C,CAAC;IAED,sDAAwB,GAAxB;QACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;IACjD,CAAC;IAED,kDAAoB,GAApB;QACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,6CAAe,GAAf;QACE,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,iDAAmB,GAAnB,UACE,aAAqB,EACrB,OAUC;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACzC,IAAI,KAAK,EAAE;YACT,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;SAC9B;IACH,CAAC;IAED,oEAAsC,GAAtC,UAAuC,KAA+B;QACpE,OAAO,KAAK,CAAC,8BAA8B,CAAA;IAC7C,CAAC;IAED,4CAAc,GAAd;QACE,OAAO,IAAI,CAAC,SAAS,CACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;YACvB,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,oBAAoB;YAClC,UAAU,EAAE,CAAC,CAAC,qBAAqB;YACnC,SAAS,EAAE,CAAC,CAAC,eAAe;YAC5B,WAAW,EAAE,CAAC,CAAC,cAAc;YAC7B,kBAAkB,EAAE,CAAC,CAAC,sBAAsB;SAC7C,CAAC,EARsB,CAQtB,CAAC,EACH,IAAI,EACJ,CAAC,CACF,CAAA;IACH,CAAC;IAEO,2CAAa,GAArB,UAAsB,SAAkB,EAAE,aAAsB;QAC9D,IAAI,SAAS,IAAI,aAAa,EAAE;YAC9B,OAAO,WAAW,CAAA;SACnB;QAED,IAAI,SAAS,IAAI,CAAC,aAAa,EAAE;YAC/B,OAAO,iBAAiB,CAAA;SACzB;QAED,IAAI,CAAC,SAAS,IAAI,aAAa,EAAE;YAC/B,OAAO,aAAa,CAAA;SACrB;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,0CAAY,GAApB,UAAqB,IAAgB;QACnC,QAAQ,IAAI,EAAE;YACZ,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,cAAc,CAAA;YAC5B,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,mBAAmB,CAAA;YACjC,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,eAAe,CAAA;YAC7B,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,UAAU,CAAA;YACxB;gBACE,OAAO,CAAC,CAAA;SACX;IACH,CAAC;IAEO,gDAAkB,GAA1B,UAA2B,IAAgB;QACzC,QAAQ,IAAI,EAAE;YACZ,KAAK,WAAW;gBACd,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,MAAK;YACP,KAAK,iBAAiB;gBACpB,IAAI,CAAC,mBAAmB,EAAE,CAAA;gBAC1B,MAAK;YACP,KAAK,aAAa;gBAChB,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,MAAK;YACP,KAAK,OAAO;gBACV,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,MAAK;YACP;gBACE,MAAK;SACR;IACH,CAAC;IAEO,oDAAsB,GAA9B,UAA+B,IAAgB,EAAE,SAAiB;QAChE,QAAQ,IAAI,EAAE;YACZ,KAAK,WAAW;gBACd,OAAO,aAAM,SAAS,CAAE,CAAA;YAC1B,KAAK,iBAAiB;gBACpB,OAAO,yBAAkB,SAAS,CAAE,CAAA;YACtC,KAAK,aAAa;gBAChB,OAAO,qBAAc,SAAS,CAAE,CAAA;YAClC,KAAK,OAAO;gBACV,OAAO,gBAAS,SAAS,CAAE,CAAA;YAC7B;gBACE,OAAO,EAAE,CAAA;SACZ;IACH,CAAC;IAEO,mDAAqB,GAA7B,UACE,MAAc,EACd,SAAkB,EAClB,aAAsB;QAEtB,IAAM,MAAM,GAAsC,EAAE,CAAA;QAEpD,IAAI,SAAS,EAAE;YACb,IAAI,aAAa,EAAE;gBACjB,MAAM,CAAC,gBAAgB,GAAG,0BAAmB,MAAM,CAAE,CAAA;gBACrD,MAAM,CAAC,mBAAmB,GAAG,6BAAsB,MAAM,CAAE,CAAA;gBAC3D,MAAM,CAAC,YAAY,GAAG,0BAAmB,MAAM,UAAO,CAAA;gBACtD,MAAM,CAAC,eAAe,GAAG,6BAAsB,MAAM,CAAE,CAAA;aACxD;iBAAM;gBACL,MAAM,CAAC,YAAY,GAAG,UAAG,MAAM,UAAO,CAAA;gBACtC,MAAM,CAAC,eAAe,GAAG,aAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAO,CAAA;aAC9D;YACD,MAAM,CAAC,gBAAgB,GAAG,qBAAc,MAAM,cAAW,CAAA;YACzD,MAAM,CAAC,mBAAmB,GAAG,wBAAiB,MAAM,cAAW,CAAA;SAChE;aAAM;YACL,MAAM,CAAC,YAAY,GAAG,EAAE,CAAA;YACxB,MAAM,CAAC,eAAe,GAAG,EAAE,CAAA;YAC3B,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAA;YAC5B,MAAM,CAAC,mBAAmB,GAAG,EAAE,CAAA;SAChC;QAED,IAAI,aAAa,EAAE;YACjB,MAAM,CAAC,cAAc,GAAG,iBAAU,MAAM,WAAQ,CAAA;YAChD,MAAM,CAAC,iBAAiB,GAAG,oBAAa,MAAM,WAAQ,CAAA;YACtD,MAAM,CAAC,uBAAuB,GAAG,0BAAmB,MAAM,WAAQ,CAAA;YAClE,MAAM,CAAC,0BAA0B,GAAG,6BAAsB,MAAM,WAAQ,CAAA;YACxE,MAAM,CAAC,kBAAkB,GAAG,8BAAuB,MAAM,CAAE,CAAA;YAE3D,IAAI,SAAS,EAAE;gBACb,MAAM,CAAC,oBAAoB,GAAG,gCAAyB,MAAM,CAAE,CAAA;aAChE;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,4DAA8B,GAAtC,UACE,oBAA4B,EAC5B,IAAgB,EAChB,SAAiB;QAQjB,IAAI,MAAc,CAAA;QAClB,QAAQ,IAAI,EAAE;YACZ,KAAK,WAAW;gBACd,MAAM,GAAG,aAAM,SAAS,CAAE,CAAA;gBAC1B,MAAK;YACP,KAAK,iBAAiB;gBACpB,MAAM,GAAG,yBAAkB,SAAS,CAAE,CAAA;gBACtC,MAAK;YACP,KAAK,aAAa;gBAChB,MAAM,GAAG,qBAAc,SAAS,CAAE,CAAA;gBAClC,MAAK;YACP,KAAK,OAAO;gBACV,MAAM,GAAG,gBAAS,SAAS,CAAE,CAAA;gBAC7B,MAAK;YACP;gBACE,MAAM,GAAG,gBAAS,SAAS,CAAE,CAAA;gBAC7B,MAAK;SACR;QAED,IAAM,OAAO,GAAG,UAAG,oBAAoB,cAAI,MAAM,CAAE,CAAA;QACnD,IAAM,WAAW,GAAG,UAAG,oBAAoB,cAAI,MAAM,cAAW,CAAA;QAEhE,OAAO;YACL,qBAAqB,EAAE,OAAO;YAC9B,yBAAyB,EAAE,WAAW;YACtC,sBAAsB,EAAE,OAAO;YAC/B,8BAA8B,EAAE,WAAW;SAC5C,CAAA;IACH,CAAC;IAEO,wCAAU,GAAlB,UAAmB,GAAW;QAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IACH,0BAAC;AAAD,CAAC,AA/QD,IA+QC;AA/QY,kDAAmB;AAiRhC,SAAgB,sBAAsB,CAAC,QAAa,EAAE,YAAiB;IACrE,IAAM,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAA;IAE1C,IAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7C,IAAI,eAAe,GAAG,CAAC,CAAA;IAEvB,IAAM,gBAAgB,GAAG,UACvB,UAAkB,EAClB,YAAiB,EACjB,iBAAsB;;QAEtB,IAAI,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,0CAAE,YAAY,EAAE;YACtC,IAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,YAAY,CAAA;YAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACvD,OAAO,GAAG,CAAC,OAAO,CAAA;aACnB;SACF;QACD,IAAI,MAAA,MAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,KAAK,0CAAG,UAAU,CAAC,0CAAE,MAAM,0CAAE,YAAY,EAAE;YAChE,IAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;YACnE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACvD,OAAO,GAAG,CAAC,OAAO,CAAA;aACnB;SACF;QACD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,IAAM,QAAQ,GAAG,UAAC,IAAS,EAAE,mBAA4B;;QACvD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACrC,OAAM;SACP;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,KAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,oBAAoB,CAAA,EAAE;YAC1E,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAA;SACxD;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,KAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,oBAAoB,CAAA,EAAE;YAC3E,IAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAA;YACtB,IAAM,WAAW,GAAG,UAAG,CAAC,CAAC,oBAAoB,cAAI,CAAC,CAAC,SAAS,cAAI,CAAC,CAAC,aAAa,cAC7E,CAAC,CAAC,OAAO,IAAI,SAAS,cACpB,CAAC,CAAC,MAAM,IAAI,EAAE,CAAE,CAAA;YAEpB,IAAI,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBACxC,OAAM;aACP;YACD,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAEpC,IAAM,UAAU,GAAG,MAAA,CAAC,CAAC,QAAQ,0CAAE,EAAE,CAAA;YACjC,IAAI,YAAY,SAAsB,CAAA;YACtC,IAAI,UAAU,EAAE;gBACd,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;aACtE;YAED,IAAM,UAAU,GAAG,CAAC,CAAC,kBAAkB,CAAA;YACvC,IAAM,kBAAkB,GACtB,UAAU;gBACV,UAAU,CAAC,IAAI,KAAK,QAAQ;gBAC5B,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;gBACtC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,UAAU,CAAC,OAAO;gBACpB,CAAC,CAAC,SAAS,CAAA;YAEf,QAAQ,CAAC,gBAAgB,CAAC;gBACxB,oBAAoB,EAAE,mBAAmB,IAAI,SAAS;gBACtD,qBAAqB,EAAE,CAAC,CAAC,oBAAoB;gBAC7C,eAAe,EAAE,eAAe,EAAE;gBAClC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxB,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa;gBAChC,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,kBAAkB,oBAAA;gBAClB,YAAY,cAAA;aACb,CAAC,CAAA;SACH;QAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,KAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAU,IAAK,OAAA,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAApC,CAAoC,CAAC,CAAA;SACpF;QACD,IAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;SACjD;QACD,IAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,EAAE;YACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,CAAM,IAAK,OAAA,QAAQ,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAhC,CAAgC,CAAC,CAAA;SACxF;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAU,IAAK,OAAA,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAApC,CAAoC,CAAC,CAAA;SAC5E;IACH,CAAC,CAAA;IAED,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAElB,OAAO,QAAQ,CAAA;AACjB,CAAC;AA3FD,wDA2FC"}
1
+ {"version":3,"file":"array-mapper-registry.js","sourceRoot":"","sources":["../../src/array-mapper-registry.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DataSourceType, UIDLDataSource } from '@teleporthq/teleport-types';
1
+ import { DataSourceType, UIDLDataSource, UIDLEcommerceCategory } from '@teleporthq/teleport-types';
2
2
  import { generateRawQueryFetcher, parseQueryTemplateVariables } from './fetchers';
3
3
  export { generateRawQueryFetcher, parseQueryTemplateVariables };
4
4
  interface DataSourceFetcherDependencies {
@@ -7,10 +7,10 @@ interface DataSourceFetcherDependencies {
7
7
  }
8
8
  export declare const isSupabaseConnectionStringFallback: (config: Record<string, unknown>) => boolean;
9
9
  export declare const getDataSourceDependencies: (type: DataSourceType, config?: Record<string, unknown>) => DataSourceFetcherDependencies;
10
- export declare function generateDataSourceFetcher(dataSource: UIDLDataSource, tableName: string): string;
10
+ export declare function generateDataSourceFetcher(dataSource: UIDLDataSource, tableName: string, categories?: UIDLEcommerceCategory[]): string;
11
11
  /**
12
12
  * Generates a fetcher with both a core fetchData function (for server-side use in getStaticProps)
13
13
  * and an API handler (for client-side use)
14
14
  */
15
- export declare function generateDataSourceFetcherWithCore(dataSource: UIDLDataSource, tableName: string, isApiRoute?: boolean): string;
15
+ export declare function generateDataSourceFetcherWithCore(dataSource: UIDLDataSource, tableName: string, isApiRoute?: boolean, categories?: UIDLEcommerceCategory[]): string;
16
16
  //# sourceMappingURL=data-source-fetchers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-source-fetchers.d.ts","sourceRoot":"","sources":["../../src/data-source-fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EA6BL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,YAAY,CAAA;AAInB,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,CAAA;AAE/D,UAAU,6BAA6B;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,kCAAkC,WAAY,OAAO,MAAM,EAAE,OAAO,CAAC,KAAG,OAEpF,CAAA;AAED,eAAO,MAAM,yBAAyB,SAC9B,cAAc,WACX,OAAO,MAAM,EAAE,OAAO,CAAC,KAC/B,6BA4BF,CAAA;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAsK/F;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,OAAe,GAC1B,MAAM,CAmGR"}
1
+ {"version":3,"file":"data-source-fetchers.d.ts","sourceRoot":"","sources":["../../src/data-source-fetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EA6BL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,YAAY,CAAA;AAInB,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,CAAA;AAE/D,UAAU,6BAA6B;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,kCAAkC,WAAY,OAAO,MAAM,EAAE,OAAO,CAAC,KAAG,OAEpF,CAAA;AAED,eAAO,MAAM,yBAAyB,SAC9B,cAAc,WACX,OAAO,MAAM,EAAE,OAAO,CAAC,KAC/B,6BA4BF,CAAA;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,qBAAqB,EAAE,GACnC,MAAM,CAsKR;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,OAAe,EAC3B,UAAU,CAAC,EAAE,qBAAqB,EAAE,GACnC,MAAM,CAmGR"}
@@ -47,7 +47,7 @@ var getDataSourceDependencies = function (type, config) {
47
47
  return dependencyMap[type];
48
48
  };
49
49
  exports.getDataSourceDependencies = getDataSourceDependencies;
50
- function generateDataSourceFetcher(dataSource, tableName) {
50
+ function generateDataSourceFetcher(dataSource, tableName, categories) {
51
51
  if (!dataSource || typeof dataSource !== 'object') {
52
52
  throw new Error('Invalid data source: data source must be a valid object');
53
53
  }
@@ -180,7 +180,7 @@ function generateDataSourceFetcher(dataSource, tableName) {
180
180
  if (!validation.isValid) {
181
181
  throw new Error("Teleport config validation failed: ".concat(validation.error));
182
182
  }
183
- return (0, fetchers_1.generateTeleportFetcher)(config, tableName);
183
+ return (0, fetchers_1.generateTeleportFetcher)(config, tableName, categories);
184
184
  }
185
185
  default:
186
186
  throw new Error("Unsupported data source type: ".concat(type));
@@ -197,9 +197,9 @@ exports.generateDataSourceFetcher = generateDataSourceFetcher;
197
197
  * Generates a fetcher with both a core fetchData function (for server-side use in getStaticProps)
198
198
  * and an API handler (for client-side use)
199
199
  */
200
- function generateDataSourceFetcherWithCore(dataSource, tableName, isApiRoute) {
200
+ function generateDataSourceFetcherWithCore(dataSource, tableName, isApiRoute, categories) {
201
201
  if (isApiRoute === void 0) { isApiRoute = false; }
202
- var apiHandler = generateDataSourceFetcher(dataSource, tableName);
202
+ var apiHandler = generateDataSourceFetcher(dataSource, tableName, categories);
203
203
  // Extract the handler function body from the API route
204
204
  // The API route is structured as: export default async function handler(req, res) { ... }
205
205
  // We need to create a fetchData function that can be called directly
@@ -1 +1 @@
1
- {"version":3,"file":"data-source-fetchers.js","sourceRoot":"","sources":["../../src/data-source-fetchers.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,uCA+BmB;AAIV,wGANP,kCAAuB,OAMO;AAAE,4GALhC,sCAA2B,OAKgC;AAH7D,2CAAqD;AACrD,mDAAuD;AAShD,IAAM,kCAAkC,GAAG,UAAC,MAA+B;IAChF,OAAO,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAA,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAA,CAAA;AAC3D,CAAC,CAAA;AAFY,QAAA,kCAAkC,sCAE9C;AAEM,IAAM,yBAAyB,GAAG,UACvC,IAAoB,EACpB,MAAgC;IAEhC,yDAAyD;IACzD,IAAI,IAAI,KAAK,UAAU,IAAI,MAAM,IAAI,IAAA,0CAAkC,EAAC,MAAM,CAAC,EAAE;QAC/E,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAA;KACpD;IAED,IAAM,aAAa,GAA0D;QAC3E,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE;QAC/D,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QACxD,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QACvD,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QAC1D,iBAAiB,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QAC/D,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QAC1D,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QACzD,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QACtD,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QACtD,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QACnE,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QACxE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE;QAC7D,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,uBAAuB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QACzE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;QAC/D,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;QACpD,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE;QACpE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;QACpD,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE;KACvD,CAAA;IAED,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC,CAAA;AA/BY,QAAA,yBAAyB,6BA+BrC;AAED,SAAgB,yBAAyB,CAAC,UAA0B,EAAE,SAAiB;IACrF,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;KAC3E;IAEO,IAAA,IAAI,GAAa,UAAU,KAAvB,EAAE,MAAM,GAAK,UAAU,OAAf,CAAe;IAEnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;KAC9E;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,sDAA+C,IAAI,CAAE,CAAC,CAAA;KACvE;IAED,IAAI;QACF,QAAQ,IAAI,EAAE;YACZ,KAAK,YAAY,CAAC;YAClB,KAAK,aAAa,CAAC,CAAC;gBAClB,IAAM,UAAU,GAAG,IAAA,mCAAsB,EAAC,MAAM,CAAC,CAAA;gBACjD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,2DAAoD,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBACxF;gBACD,OAAO,IAAA,oCAAyB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aACpD;YAED,KAAK,OAAO,CAAC;YACb,KAAK,MAAM,CAAC,CAAC;gBACX,IAAM,UAAU,GAAG,IAAA,mCAAsB,EAAC,MAAM,CAAC,CAAA;gBACjD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,+CAAwC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBAC5E;gBACD,OAAO,IAAA,+BAAoB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aAC/C;YAED,KAAK,SAAS,CAAC,CAAC;gBACd,IAAM,UAAU,GAAG,IAAA,mCAAsB,EAAC,MAAM,CAAC,CAAA;gBACjD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,4CAAqC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBACzE;gBACD,OAAO,IAAA,iCAAsB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aACjD;YAED,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAM,UAAU,GAAG,IAAA,mCAAsB,EAAC,MAAM,CAAC,CAAA;gBACjD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,oDAA6C,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBACjF;gBACD,OAAO,IAAA,kCAAuB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aAClD;YAED,KAAK,SAAS,CAAC,CAAC;gBACd,IAAM,UAAU,GAAG,IAAA,gCAAqB,EAAC,MAAM,CAAC,CAAA;gBAChD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,4CAAqC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBACzE;gBACD,OAAO,IAAA,iCAAsB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aACjD;YAED,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAM,UAAU,GAAG,IAAA,8BAAmB,EAAC,MAAM,CAAC,CAAA;gBAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,0CAAmC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBACvE;gBACD,OAAO,IAAA,+BAAoB,EAAC,MAAM,CAAC,CAAA;aACpC;YAED,KAAK,WAAW,CAAC,CAAC;gBAChB,IAAM,UAAU,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;gBAClD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,8CAAuC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBAC3E;gBACD,OAAO,IAAA,mCAAwB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aACnD;YAED,KAAK,YAAY,CAAC,CAAC;gBACjB,IAAM,UAAU,GAAG,IAAA,mCAAwB,EAAC,MAAM,CAAC,CAAA;gBACnD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,+CAAwC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBAC5E;gBACD,OAAO,IAAA,oCAAyB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aACpD;YAED,KAAK,UAAU,CAAC,CAAC;gBACf,IAAM,UAAU,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,CAAA;gBACjD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,6CAAsC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBAC1E;gBACD,OAAO,IAAA,kCAAuB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aAClD;YAED,KAAK,UAAU,CAAC,CAAC;gBACf,uFAAuF;gBACvF,IAAI,IAAA,0CAAkC,EAAC,MAAM,CAAC,EAAE;oBAC9C,IAAM,YAAY,GAAG,IAAA,mCAAsB,EAAC,MAAM,CAAC,CAAA;oBACnD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;wBACzB,MAAM,IAAI,KAAK,CACb,mEAA4D,YAAY,CAAC,KAAK,CAAE,CACjF,CAAA;qBACF;oBACD,OAAO,IAAA,oCAAyB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;iBACpD;gBAED,IAAM,UAAU,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,CAAA;gBACjD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,6CAAsC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBAC1E;gBACD,OAAO,IAAA,kCAAuB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aAClD;YAED,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAM,UAAU,GAAG,IAAA,8BAAmB,EAAC,MAAM,CAAC,CAAA;gBAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,0CAAmC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBACvE;gBACD,OAAO,IAAA,+BAAoB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aAC/C;YAED,KAAK,UAAU,CAAC,CAAC;gBACf,IAAM,UAAU,GAAG,IAAA,gCAAqB,EAAC,MAAM,CAAC,CAAA;gBAChD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,6CAAsC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBAC1E;gBACD,OAAO,IAAA,iCAAsB,EAAC,MAAM,CAAC,CAAA;aACtC;YAED,KAAK,YAAY,CAAC,CAAC;gBACjB,IAAM,UAAU,GAAG,IAAA,mCAAwB,EAAC,MAAM,CAAC,CAAA;gBACnD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,+CAAwC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBAC5E;gBACD,OAAO,IAAA,oCAAyB,EAAC,MAAM,CAAC,CAAA;aACzC;YAED,KAAK,UAAU,CAAC,CAAC;gBACf,IAAM,UAAU,GAAG,IAAA,4BAAiB,EAAC,MAAM,CAAC,CAAA;gBAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,wCAAiC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBACrE;gBACD,OAAO,IAAA,iCAAsB,EAAC,MAAM,CAAC,CAAA;aACtC;YAED,KAAK,eAAe,CAAC,CAAC;gBACpB,IAAM,UAAU,GAAG,IAAA,qCAA0B,EAAC,MAAM,CAAC,CAAA;gBACrD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,kDAA2C,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBAC/E;gBACD,OAAO,IAAA,sCAA2B,EAAC,MAAM,CAAC,CAAA;aAC3C;YAED,KAAK,UAAU,CAAC,CAAC;gBACf,IAAM,UAAU,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,CAAA;gBACjD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;oBACvB,MAAM,IAAI,KAAK,CAAC,6CAAsC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;iBAC1E;gBACD,OAAO,IAAA,kCAAuB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAA;aAClD;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,wCAAiC,IAAI,CAAE,CAAC,CAAA;SAC3D;KACF;IAAC,OAAO,KAAK,EAAE;QACd,6BAA6B;QAC7B,IAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;QAC7E,MAAM,IAAI,KAAK,CAAC,yCAAkC,IAAI,eAAK,YAAY,CAAE,CAAC,CAAA;KAC3E;AACH,CAAC;AAtKD,8DAsKC;AAED;;;GAGG;AACH,SAAgB,iCAAiC,CAC/C,UAA0B,EAC1B,SAAiB,EACjB,UAA2B;IAA3B,2BAAA,EAAA,kBAA2B;IAE3B,IAAM,UAAU,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAEnE,uDAAuD;IACvD,0FAA0F;IAC1F,qEAAqE;IAErE,0EAA0E;IAC1E,IAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CACpC,uCAAuC,EACvC,wBAAwB,CACzB,CAAA;IAED,+DAA+D;IAC/D,IAAM,WAAW,GAAG,kBAAkB,CAAA;IACtC,IAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACpD,IAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAEzE,sDAAsD;IACtD,IAAM,gBAAgB,GAAG,IAAA,qCAAoB,EAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IACpE,IAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IAC9D,IAAM,0BAA0B,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAEnF,kCAAkC;IAClC,IAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,iCAAK,OAAO,SAAK,YAAY,QAAE,CAAC,CAAA;IAErE,mDAAmD;IACnD,6DAA6D;IAC7D,IAAM,OAAO,GAAG,UAAU;QACxB,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,kHACsD,CAAA;IAE1D,OAAO,UAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,2hCA4D/B,0BAA0B,iBAE1B,qBAAqB,iBAErB,OAAO,OACR,CAAA;AACD,CAAC;AAvGD,8EAuGC"}
1
+ {"version":3,"file":"data-source-fetchers.js","sourceRoot":"","sources":["../../src/data-source-fetchers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgresql.d.ts","sourceRoot":"","sources":["../../../src/fetchers/postgresql.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,yBAAyB,WAC5B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MA2NF,CAAA;AAED,eAAO,MAAM,8BAA8B,WACjC,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MA8FF,CAAA"}
1
+ {"version":3,"file":"postgresql.d.ts","sourceRoot":"","sources":["../../../src/fetchers/postgresql.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,yBAAyB,WAC5B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MA4OF,CAAA;AAED,eAAO,MAAM,8BAA8B,WACjC,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MA8FF,CAAA"}
@@ -13,7 +13,7 @@ var generatePostgreSQLFetcher = function (config, tableName) {
13
13
  : pgConfig.sslConfig
14
14
  ? "{\n ".concat(pgConfig.sslConfig.ca ? "ca: ".concat((0, utils_1.replaceSecretReference)(pgConfig.sslConfig.ca), ",") : '', "\n ").concat(pgConfig.sslConfig.cert ? "cert: ".concat((0, utils_1.replaceSecretReference)(pgConfig.sslConfig.cert), ",") : '', "\n ").concat(pgConfig.sslConfig.key ? "key: ".concat((0, utils_1.replaceSecretReference)(pgConfig.sslConfig.key), ",") : '', "\n rejectUnauthorized: false\n }")
15
15
  : '{ rejectUnauthorized: false }', "\n }");
16
- return "import { Client } from 'pg'\n\nconst getClient = () => {\n return new Client(".concat(clientConfig, ")\n}\n\n").concat((0, utils_1.generateSafeJSONParseCode)(), "\n\n").concat((0, utils_1.generateSearchEscapeHelpersCode)(), "\n\n// Helper function to process filters and build conditions\nconst processFilters = (filters, conditions, queryParams, paramIndex) => {\n if (!filters) return paramIndex\n \n const parsedFilters = safeJSONParse(filters)\n \n if (Array.isArray(parsedFilters)) {\n parsedFilters.forEach((filter) => {\n if (!filter.source || filter.destination === undefined) return\n \n const field = filter.source\n const value = filter.destination\n const operand = filter.operand || '='\n \n if (Array.isArray(value)) {\n if (value.length === 0) return\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n if (operand === '!=') {\n conditions.push(`${field} NOT IN (${placeholders.join(', ')})`)\n } else {\n conditions.push(`${field} IN (${placeholders.join(', ')})`)\n }\n } else {\n if (value === null) {\n if (operand === '=') {\n conditions.push(`${field} IS NULL`)\n } else if (operand === '!=') {\n conditions.push(`${field} IS NOT NULL`)\n }\n } else {\n const validOps = ['=', '!=', '>', '<', '>=', '<=']\n const sqlOperator = validOps.includes(operand) ? operand : '='\n conditions.push(`${field} ${sqlOperator} $${paramIndex}`)\n queryParams.push(value)\n paramIndex++\n }\n }\n })\n } else {\n Object.entries(parsedFilters).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n conditions.push(`${key} IN (${placeholders.join(', ')})`)\n } else {\n conditions.push(`${key} = $${paramIndex}`)\n queryParams.push(value)\n paramIndex++\n }\n })\n }\n \n return paramIndex\n}\n\n").concat((0, utils_1.generateDateFormatterCode)(), "\n\nexport default async function handler(req, res) {\n const client = getClient()\n \n try {\n await client.connect()\n ").concat(schema ? "await client.query('SET search_path TO ".concat(schema, "')") : '', "\n \n const { query, queryColumns, limit, page, perPage, sortBy, sortOrder, filters, sorts, offset } = req.query\n \n const conditions = []\n const queryParams = []\n let paramIndex = 1\n \n if (query) {\n let columns = []\n \n if (queryColumns) {\n // Use specified columns. Wrap non-arrays so that a single\n // column passed as a bare string doesn't get iterated as chars.\n const parsed = safeJSONParse(queryColumns)\n columns = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : [])\n } else {\n // Fallback: Get all columns from information_schema\n try {\n const schemaQuery = `\n SELECT column_name\n FROM information_schema.columns\n WHERE table_name = $1\n ").concat(schema ? "AND table_schema = $2" : '', "\n ORDER BY ordinal_position\n `\n const schemaParams = schema \n ? [").concat(JSON.stringify(tableName), ", ").concat(JSON.stringify(schema), "]\n : [").concat(JSON.stringify(tableName), "]\n \n const schemaResult = await client.query(schemaQuery, schemaParams)\n columns = schemaResult.rows.map(row => row.column_name)\n } catch (schemaError) {\n console.warn('Failed to fetch column names from information_schema:', schemaError.message)\n // Continue without search if we can't get columns\n }\n }\n \n if (columns.length > 0) {\n const pattern = '%' + escapeLikePattern(query) + '%'\n const placeholder = '$' + paramIndex\n paramIndex++\n queryParams.push(pattern)\n const searchConditions = columns.map(\n (col) => '\"' + sanitizeSearchIdentifier(col) + '\"::text ILIKE ' + placeholder + \" ESCAPE '|'\"\n )\n conditions.push('(' + searchConditions.join(' OR ') + ')')\n }\n }\n\n // Apply filters using helper function\n paramIndex = processFilters(filters, conditions, queryParams, paramIndex)\n \n let sql = `SELECT * FROM \"").concat(tableName, "\"`\n \n if (conditions.length > 0) {\n sql += ` WHERE ${conditions.join(' AND ')}`\n }\n \n // Handle sorts - new array format\n if (sorts) {\n const parsedSorts = safeJSONParse(sorts)\n if (Array.isArray(parsedSorts) && parsedSorts.length > 0) {\n const orderClauses = parsedSorts.map((sort) => {\n if (!sort.field) return null\n const order = (sort.order || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'\n return `${sort.field} ${order}`\n }).filter(Boolean)\n\n if (orderClauses.length > 0) {\n sql += ` ORDER BY ${orderClauses.join(', ')}`\n }\n }\n } else if (sortBy) {\n sql += ` ORDER BY ${sortBy} ${(sortOrder || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'}`\n }\n \n const limitValue = limit || perPage\n const offsetValue = offset !== undefined ? parseInt(offset) : (page && perPage ? (parseInt(page) - 1) * parseInt(perPage) : undefined)\n \n if (limitValue) {\n sql += ` LIMIT ${limitValue}`\n }\n \n if (offsetValue !== undefined) {\n sql += ` OFFSET ${offsetValue}`\n }\n \n const result = await client.query(sql, queryParams)\n const rows = Array.isArray(result?.rows) ? result.rows : []\n const plainRows = rows.map((row) =>\n row && typeof row.toJSON === 'function' ? row.toJSON() : row\n )\n const safeData = JSON.parse(JSON.stringify(plainRows, dateReplacer))\n\n return res.status(200).json({\n success: true,\n data: safeData,\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('PostgreSQL fetch error:', error)\n return res.status(500).json({\n success: false,\n error: error.message || 'Failed to fetch data',\n timestamp: Date.now()\n })\n } finally {\n if (client) {\n try {\n await client.end()\n } catch (error) {\n console.error('Error closing PostgreSQL client:', error)\n }\n }\n }\n}\n");
16
+ return "import { Client } from 'pg'\n\nconst getClient = () => {\n return new Client(".concat(clientConfig, ")\n}\n\n").concat((0, utils_1.generateSafeJSONParseCode)(), "\n\n").concat((0, utils_1.generateSearchEscapeHelpersCode)(), "\n\n// Helper function to process filters and build conditions\nconst processFilters = (filters, conditions, queryParams, paramIndex) => {\n if (!filters) return paramIndex\n \n const parsedFilters = safeJSONParse(filters)\n \n if (Array.isArray(parsedFilters)) {\n parsedFilters.forEach((filter) => {\n if (!filter.source || filter.destination === undefined) return\n \n const field = filter.source\n const value = filter.destination\n const operand = filter.operand || '='\n \n if (Array.isArray(value)) {\n if (value.length === 0) return\n if (operand === 'array_overlap') {\n conditions.push(`jsonb_exists_any(NULLIF(${field}, '')::jsonb, $${paramIndex}::text[])`)\n queryParams.push(value.map((entry) => String(entry)))\n paramIndex++\n return\n }\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n if (operand === '!=') {\n conditions.push(`${field} NOT IN (${placeholders.join(', ')})`)\n } else {\n conditions.push(`${field} IN (${placeholders.join(', ')})`)\n }\n } else {\n if (operand === 'array_overlap') {\n if (value === '' || value === null || value === undefined) return\n // A single comma-joined string (the multi-select Category Filter's\n // ?categoryFilter=a,b,c) expands to multiple ids; one id stays one.\n const overlapValues = String(value).split(',').map((entry) => entry.trim()).filter(Boolean)\n if (overlapValues.length === 0) return\n conditions.push(`jsonb_exists_any(NULLIF(${field}, '')::jsonb, $${paramIndex}::text[])`)\n queryParams.push(overlapValues)\n paramIndex++\n return\n }\n if (value === null) {\n if (operand === '=') {\n conditions.push(`${field} IS NULL`)\n } else if (operand === '!=') {\n conditions.push(`${field} IS NOT NULL`)\n }\n } else {\n const validOps = ['=', '!=', '>', '<', '>=', '<=']\n const sqlOperator = validOps.includes(operand) ? operand : '='\n conditions.push(`${field} ${sqlOperator} $${paramIndex}`)\n queryParams.push(value)\n paramIndex++\n }\n }\n })\n } else {\n Object.entries(parsedFilters).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n conditions.push(`${key} IN (${placeholders.join(', ')})`)\n } else {\n conditions.push(`${key} = $${paramIndex}`)\n queryParams.push(value)\n paramIndex++\n }\n })\n }\n \n return paramIndex\n}\n\n").concat((0, utils_1.generateDateFormatterCode)(), "\n\nexport default async function handler(req, res) {\n const client = getClient()\n \n try {\n await client.connect()\n ").concat(schema ? "await client.query('SET search_path TO ".concat(schema, "')") : '', "\n \n const { query, queryColumns, limit, page, perPage, sortBy, sortOrder, filters, sorts, offset } = req.query\n \n const conditions = []\n const queryParams = []\n let paramIndex = 1\n \n if (query) {\n let columns = []\n \n if (queryColumns) {\n // Use specified columns. Wrap non-arrays so that a single\n // column passed as a bare string doesn't get iterated as chars.\n const parsed = safeJSONParse(queryColumns)\n columns = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : [])\n } else {\n // Fallback: Get all columns from information_schema\n try {\n const schemaQuery = `\n SELECT column_name\n FROM information_schema.columns\n WHERE table_name = $1\n ").concat(schema ? "AND table_schema = $2" : '', "\n ORDER BY ordinal_position\n `\n const schemaParams = schema \n ? [").concat(JSON.stringify(tableName), ", ").concat(JSON.stringify(schema), "]\n : [").concat(JSON.stringify(tableName), "]\n \n const schemaResult = await client.query(schemaQuery, schemaParams)\n columns = schemaResult.rows.map(row => row.column_name)\n } catch (schemaError) {\n console.warn('Failed to fetch column names from information_schema:', schemaError.message)\n // Continue without search if we can't get columns\n }\n }\n \n if (columns.length > 0) {\n const pattern = '%' + escapeLikePattern(query) + '%'\n const placeholder = '$' + paramIndex\n paramIndex++\n queryParams.push(pattern)\n const searchConditions = columns.map(\n (col) => '\"' + sanitizeSearchIdentifier(col) + '\"::text ILIKE ' + placeholder + \" ESCAPE '|'\"\n )\n conditions.push('(' + searchConditions.join(' OR ') + ')')\n }\n }\n\n // Apply filters using helper function\n paramIndex = processFilters(filters, conditions, queryParams, paramIndex)\n \n let sql = `SELECT * FROM \"").concat(tableName, "\"`\n \n if (conditions.length > 0) {\n sql += ` WHERE ${conditions.join(' AND ')}`\n }\n \n // Handle sorts - new array format\n if (sorts) {\n const parsedSorts = safeJSONParse(sorts)\n if (Array.isArray(parsedSorts) && parsedSorts.length > 0) {\n const orderClauses = parsedSorts.map((sort) => {\n if (!sort.field) return null\n const order = (sort.order || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'\n return `${sort.field} ${order}`\n }).filter(Boolean)\n\n if (orderClauses.length > 0) {\n sql += ` ORDER BY ${orderClauses.join(', ')}`\n }\n }\n } else if (sortBy) {\n sql += ` ORDER BY ${sortBy} ${(sortOrder || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'}`\n }\n \n const limitValue = limit || perPage\n const offsetValue = offset !== undefined ? parseInt(offset) : (page && perPage ? (parseInt(page) - 1) * parseInt(perPage) : undefined)\n \n if (limitValue) {\n sql += ` LIMIT ${limitValue}`\n }\n \n if (offsetValue !== undefined) {\n sql += ` OFFSET ${offsetValue}`\n }\n \n const result = await client.query(sql, queryParams)\n const rows = Array.isArray(result?.rows) ? result.rows : []\n const plainRows = rows.map((row) =>\n row && typeof row.toJSON === 'function' ? row.toJSON() : row\n )\n const safeData = JSON.parse(JSON.stringify(plainRows, dateReplacer))\n\n return res.status(200).json({\n success: true,\n data: safeData,\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('PostgreSQL fetch error:', error)\n return res.status(500).json({\n success: false,\n error: error.message || 'Failed to fetch data',\n timestamp: Date.now()\n })\n } finally {\n if (client) {\n try {\n await client.end()\n } catch (error) {\n console.error('Error closing PostgreSQL client:', error)\n }\n }\n }\n}\n");
17
17
  };
18
18
  exports.generatePostgreSQLFetcher = generatePostgreSQLFetcher;
19
19
  var generatePostgreSQLCountFetcher = function (config, tableName) {
@@ -1 +1 @@
1
- {"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../../src/fetchers/postgresql.ts"],"names":[],"mappings":";;;AAAA,kCAKiB;AAeV,IAAM,yBAAyB,GAAG,UACvC,MAA+B,EAC/B,SAAiB;;IAEjB,IAAM,QAAQ,GAAG,MAA0B,CAAA;IAC3C,IAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA;IAEvC,IAAM,YAAY,GAAG,QAAQ,CAAC,gBAAgB;QAC5C,CAAC,CAAC,mCACkB,IAAA,8BAAsB,EAAC,QAAQ,CAAC,gBAAgB,CAAC,WACrE;QACA,CAAC,CAAC,uBACM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAC7B,QAAQ,CAAC,IAAI,IAAI,IAAI,0BACrB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,8BAC9C,IAAA,8BAAsB,EAAC,QAAQ,CAAC,QAAQ,CAAC,8BACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,yBAE3C,QAAQ,CAAC,GAAG,KAAK,KAAK;YACpB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,QAAQ,CAAC,SAAS;gBACpB,CAAC,CAAC,mBACF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,cAAO,IAAA,8BAAsB,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAG,CAAC,CAAC,CAAC,EAAE,qBACpF,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAS,IAAA,8BAAsB,EAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC,CAAC,EAAE,qBAC1F,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,eAAQ,IAAA,8BAAsB,EAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,MAAG,CAAC,CAAC,CAAC,EAAE,6CAEzF;gBACE,CAAC,CAAC,+BAA+B,UAErC,CAAA;IAEF,OAAO,wFAGa,YAAY,qBAGhC,IAAA,iCAAyB,GAAE,iBAE3B,IAAA,uCAA+B,GAAE,63DA0DjC,IAAA,iCAAyB,GAAE,+IAOvB,MAAM,CAAC,CAAC,CAAC,iDAA0C,MAAM,OAAI,CAAC,CAAC,CAAC,EAAE,szBAuB1D,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,0HAIlC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,+BACpD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,i/BAyBT,SAAS,09DAgEzC,CAAA;AACD,CAAC,CAAA;AA9NY,QAAA,yBAAyB,6BA8NrC;AAEM,IAAM,8BAA8B,GAAG,UAC5C,MAA+B,EAC/B,SAAiB;;IAEjB,IAAM,QAAQ,GAAG,MAA0B,CAAA;IAC3C,IAAM,SAAS,GAAG,CAAC,CAAC,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA,CAAA;IAE5C,OAAO,2tBAyBK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,kGAI1C,SAAS;QACP,CAAC,CAAC,WAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAQ,CAAC,MAAM,CAAC,MAAG;QAC/E,CAAC,CAAC,WAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAG,ohCA4BH,SAAS,gvBA8BrD,CAAA;AACD,CAAC,CAAA;AAjGY,QAAA,8BAA8B,kCAiG1C"}
1
+ {"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../../src/fetchers/postgresql.ts"],"names":[],"mappings":";;;AAAA,kCAKiB;AAeV,IAAM,yBAAyB,GAAG,UACvC,MAA+B,EAC/B,SAAiB;;IAEjB,IAAM,QAAQ,GAAG,MAA0B,CAAA;IAC3C,IAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA;IAEvC,IAAM,YAAY,GAAG,QAAQ,CAAC,gBAAgB;QAC5C,CAAC,CAAC,mCACkB,IAAA,8BAAsB,EAAC,QAAQ,CAAC,gBAAgB,CAAC,WACrE;QACA,CAAC,CAAC,uBACM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAC7B,QAAQ,CAAC,IAAI,IAAI,IAAI,0BACrB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,8BAC9C,IAAA,8BAAsB,EAAC,QAAQ,CAAC,QAAQ,CAAC,8BACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,yBAE3C,QAAQ,CAAC,GAAG,KAAK,KAAK;YACpB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,QAAQ,CAAC,SAAS;gBACpB,CAAC,CAAC,mBACF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,cAAO,IAAA,8BAAsB,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAG,CAAC,CAAC,CAAC,EAAE,qBACpF,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAS,IAAA,8BAAsB,EAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC,CAAC,EAAE,qBAC1F,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,eAAQ,IAAA,8BAAsB,EAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,MAAG,CAAC,CAAC,CAAC,EAAE,6CAEzF;gBACE,CAAC,CAAC,+BAA+B,UAErC,CAAA;IAEF,OAAO,wFAGa,YAAY,qBAGhC,IAAA,iCAAyB,GAAE,iBAE3B,IAAA,uCAA+B,GAAE,wvFA2EjC,IAAA,iCAAyB,GAAE,+IAOvB,MAAM,CAAC,CAAC,CAAC,iDAA0C,MAAM,OAAI,CAAC,CAAC,CAAC,EAAE,szBAuB1D,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,0HAIlC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,+BACpD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,i/BAyBT,SAAS,09DAgEzC,CAAA;AACD,CAAC,CAAA;AA/OY,QAAA,yBAAyB,6BA+OrC;AAEM,IAAM,8BAA8B,GAAG,UAC5C,MAA+B,EAC/B,SAAiB;;IAEjB,IAAM,QAAQ,GAAG,MAA0B,CAAA;IAC3C,IAAM,SAAS,GAAG,CAAC,CAAC,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA,CAAA;IAE5C,OAAO,2tBAyBK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,kGAI1C,SAAS;QACP,CAAC,CAAC,WAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAQ,CAAC,MAAM,CAAC,MAAG;QAC/E,CAAC,CAAC,WAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAG,ohCA4BH,SAAS,gvBA8BrD,CAAA;AACD,CAAC,CAAA;AAjGY,QAAA,8BAA8B,kCAiG1C"}
@@ -1,7 +1,8 @@
1
+ import type { UIDLEcommerceCategory } from '@teleporthq/teleport-types';
1
2
  export declare const validateTeleportConfig: (config: Record<string, unknown>) => {
2
3
  isValid: boolean;
3
4
  error?: string;
4
5
  };
5
- export declare const generateTeleportFetcher: (config: Record<string, unknown>, tableName: string) => string;
6
+ export declare const generateTeleportFetcher: (config: Record<string, unknown>, tableName: string, categories?: UIDLEcommerceCategory[]) => string;
6
7
  export declare const generateTeleportCountFetcher: (config: Record<string, unknown>, tableName: string) => string;
7
8
  //# sourceMappingURL=teleport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"teleport.d.ts","sourceRoot":"","sources":["../../../src/fetchers/teleport.ts"],"names":[],"mappings":"AAwCA,eAAO,MAAM,sBAAsB,WACzB,OAAO,MAAM,EAAE,OAAO,CAAC,KAC9B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAMpC,CAAA;AAED,eAAO,MAAM,uBAAuB,WAC1B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MAgVF,CAAA;AAED,eAAO,MAAM,4BAA4B,WAC/B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MA0FF,CAAA"}
1
+ {"version":3,"file":"teleport.d.ts","sourceRoot":"","sources":["../../../src/fetchers/teleport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAyCvE,eAAO,MAAM,sBAAsB,WACzB,OAAO,MAAM,EAAE,OAAO,CAAC,KAC9B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAMpC,CAAA;AAED,eAAO,MAAM,uBAAuB,WAC1B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,eACJ,qBAAqB,EAAE,KACnC,MAiXF,CAAA;AAED,eAAO,MAAM,4BAA4B,WAC/B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MA0FF,CAAA"}
@@ -24,7 +24,7 @@ var validateTeleportConfig = function (config) {
24
24
  return { isValid: true };
25
25
  };
26
26
  exports.validateTeleportConfig = validateTeleportConfig;
27
- var generateTeleportFetcher = function (config, tableName) {
27
+ var generateTeleportFetcher = function (config, tableName, categories) {
28
28
  var _a;
29
29
  var dbConfig = config;
30
30
  var schema = (_a = dbConfig.options) === null || _a === void 0 ? void 0 : _a.schema;
@@ -44,11 +44,11 @@ var generateTeleportFetcher = function (config, tableName) {
44
44
  ? "key: ".concat(resolveEnvReference(dbConfig.sslConfig.key, 'TELEPORT_DB_SSL_KEY'), ",")
45
45
  : '', "\n rejectUnauthorized: false\n }")
46
46
  : "(process.env.".concat(DEFAULT_ENV_KEYS.ssl, " === 'false' ? false : process.env.").concat(DEFAULT_ENV_KEYS.ssl, " === 'true' ? { rejectUnauthorized: false } : undefined)");
47
- return "import { Client } from 'pg'\n\nfunction normalizePostgresConnectionString(connectionString) {\n if (!connectionString || typeof connectionString !== 'string') return connectionString;\n if (/^postgresql:\\/(?!\\/)/i.test(connectionString)) {\n return connectionString.replace(/^postgresql:\\//i, 'postgresql://');\n }\n return connectionString;\n}\n\nfunction stripSslQueryParamsFromConnectionString(connectionString) {\n if (!connectionString || typeof connectionString !== 'string') return connectionString;\n try {\n var u = new URL(connectionString.replace(/^postgresql:/i, 'postgres:'));\n u.searchParams.delete('sslmode');\n u.searchParams.delete('ssl');\n u.searchParams.delete('sslrootcert');\n u.searchParams.delete('sslcert');\n u.searchParams.delete('sslkey');\n return u.toString().replace(/^postgres:/i, 'postgresql:');\n } catch (e) {\n return connectionString;\n }\n}\n\nconst getClient = () => {\n var ssl = ".concat(sslCode, ";\n var connStr = process.env.TELEPORT_DB_CONNECTION_STRING;\n if (connStr) {\n connStr = normalizePostgresConnectionString(connStr);\n }\n if (ssl === false && connStr) {\n connStr = stripSslQueryParamsFromConnectionString(connStr);\n }\n if (connStr) {\n return new Client(Object.assign(\n { connectionString: connStr },\n ssl !== undefined ? { ssl: ssl } : {}\n ));\n }\n return new Client(Object.assign(\n {\n host: ").concat(hostRef, ",\n port: parseInt(").concat(portRef, " || '5432', 10),\n user: ").concat(userRef, ",\n password: ").concat(passwordRef, ",\n database: ").concat(databaseRef, ",\n },\n ssl !== undefined ? { ssl: ssl } : {}\n ));\n}\n\n").concat((0, utils_1.generateSafeJSONParseCode)(), "\n\n").concat((0, utils_1.generateSearchEscapeHelpersCode)(), "\n").concat((0, transformations_1.getTransformationCode)(tableName), "\n").concat((0, transformations_1.getTransformWrapperCode)(tableName), "\nconst processFilters = (filters, conditions, queryParams, paramIndex) => {\n if (!filters) return paramIndex\n \n const parsedFilters = safeJSONParse(filters)\n \n if (Array.isArray(parsedFilters)) {\n parsedFilters.forEach((filter) => {\n if (!filter.source || filter.destination === undefined) return\n \n const field = filter.source\n const value = filter.destination\n const operand = filter.operand || '='\n \n if (Array.isArray(value)) {\n if (value.length === 0) return\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n if (operand === '!=') {\n conditions.push(`${field} NOT IN (${placeholders.join(', ')})`)\n } else {\n conditions.push(`${field} IN (${placeholders.join(', ')})`)\n }\n } else {\n if (value === null) {\n if (operand === '=') {\n conditions.push(`${field} IS NULL`)\n } else if (operand === '!=') {\n conditions.push(`${field} IS NOT NULL`)\n }\n } else {\n const validOps = ['=', '!=', '>', '<', '>=', '<=']\n const sqlOperator = validOps.includes(operand) ? operand : '='\n conditions.push(`${field} ${sqlOperator} $${paramIndex}`)\n queryParams.push(value)\n paramIndex++\n }\n }\n })\n } else {\n Object.entries(parsedFilters).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n conditions.push(`${key} IN (${placeholders.join(', ')})`)\n } else {\n conditions.push(`${key} = $${paramIndex}`)\n queryParams.push(value)\n paramIndex++\n }\n })\n }\n \n return paramIndex\n}\n\n").concat((0, utils_1.generateDateFormatterCode)(), "\n\n// Matches DDL / dangerous statements the raw-query branch should refuse.\n// Keep this list conservative \u2014 anything destructive or schema-changing is\n// out of scope for a client-triggered fetch. SELECT and CTEs (WITH ...) are\n// the only shapes consumers legitimately need.\nconst BLOCKED_RAW_QUERY_PATTERNS = [\n /\\bcreate\\s+(?:temporary\\s+|temp\\s+|unlogged\\s+|global\\s+|local\\s+)?table\\b/i,\n /\\bcreate\\s+(?:unique\\s+)?index\\b/i,\n /\\bcreate\\s+(?:or\\s+replace\\s+)?(?:materialized\\s+)?view\\b/i,\n /\\bcreate\\s+(?:or\\s+replace\\s+)?trigger\\b/i,\n /\\bcreate\\s+(?:or\\s+replace\\s+)?(?:aggregate\\s+)?function\\b/i,\n /\\bcreate\\s+(?:or\\s+replace\\s+)?procedure\\b/i,\n /\\bcreate\\s+(?:database|schema|sequence|extension|type|role|user)\\b/i,\n /\\bdrop\\s+(?:table|view|index|schema|database|sequence|trigger|function|procedure|role|user|extension|type|materialized)\\b/i,\n /\\balter\\s+(?:table|view|index|schema|database|sequence|role|user|system)\\b/i,\n /\\btruncate\\b/i,\n /\\bgrant\\b/i,\n /\\brevoke\\b/i,\n /\\binsert\\b/i,\n /\\bupdate\\b/i,\n /\\bdelete\\b/i,\n /\\bcopy\\b/i,\n /\\bvacuum\\b/i,\n /\\breindex\\b/i,\n /\\bcluster\\b/i,\n]\n\nfunction assertRawQuerySafe(rawQuery) {\n if (typeof rawQuery !== 'string' || rawQuery.length === 0) {\n throw new Error('rawQuery must be a non-empty string')\n }\n // Reject multi-statement payloads \u2014 only single SELECT / WITH statements.\n // A trailing semicolon is tolerated but any content after it fails.\n var trimmed = rawQuery.trim().replace(/;\\s*$/, '')\n if (trimmed.indexOf(';') !== -1) {\n throw new Error('rawQuery must contain exactly one statement')\n }\n for (var i = 0; i < BLOCKED_RAW_QUERY_PATTERNS.length; i++) {\n if (BLOCKED_RAW_QUERY_PATTERNS[i].test(trimmed)) {\n throw new Error('rawQuery contains a blocked statement')\n }\n }\n}\n\nexport default async function handler(req, res) {\n const client = getClient()\n\n try {\n await client.connect()\n ").concat(schema ? "await client.query('SET search_path TO ".concat(schema, "')") : '', "\n\n // If the caller supplied a rawQuery, run it verbatim (after a safety\n // guard). The schema-driven branch below builds `SELECT * FROM ").concat(tableName, "`\n // with optional filters \u2014 it's the default read path and ignores\n // rawQuery. Page-load workflows and other consumers that need a JOIN\n // or a user-scoped filter pass their fully-rendered SQL here via\n // `fetchData({ rawQuery })` and expect it to execute verbatim.\n if (req.query && typeof req.query.rawQuery === 'string' && req.query.rawQuery.length > 0) {\n assertRawQuerySafe(req.query.rawQuery)\n const rawResult = await client.query(req.query.rawQuery)\n const rawRows = Array.isArray(rawResult?.rows) ? rawResult.rows : []\n const rawPlain = rawRows.map((row) =>\n row && typeof row.toJSON === 'function' ? row.toJSON() : row\n )\n const rawSafe = JSON.parse(JSON.stringify(rawPlain, dateReplacer))\n return res.status(200).json({\n success: true,\n data: rawSafe,\n timestamp: Date.now()\n })\n }\n\n const { query, queryColumns, limit, page, perPage, sortBy, sortOrder, filters, sorts, offset } = req.query\n \n const conditions = []\n const queryParams = []\n let paramIndex = 1\n \n if (query) {\n let columns = []\n \n if (queryColumns) {\n const parsed = safeJSONParse(queryColumns)\n columns = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : [])\n } else {\n try {\n const schemaQuery = `\n SELECT column_name \n FROM information_schema.columns \n WHERE table_name = $1\n ").concat(schema ? "AND table_schema = $2" : '', "\n ORDER BY ordinal_position\n `\n const schemaParams = ").concat(schema
47
+ return "import { Client } from 'pg'\n\nfunction normalizePostgresConnectionString(connectionString) {\n if (!connectionString || typeof connectionString !== 'string') return connectionString;\n if (/^postgresql:\\/(?!\\/)/i.test(connectionString)) {\n return connectionString.replace(/^postgresql:\\//i, 'postgresql://');\n }\n return connectionString;\n}\n\nfunction stripSslQueryParamsFromConnectionString(connectionString) {\n if (!connectionString || typeof connectionString !== 'string') return connectionString;\n try {\n var u = new URL(connectionString.replace(/^postgresql:/i, 'postgres:'));\n u.searchParams.delete('sslmode');\n u.searchParams.delete('ssl');\n u.searchParams.delete('sslrootcert');\n u.searchParams.delete('sslcert');\n u.searchParams.delete('sslkey');\n return u.toString().replace(/^postgres:/i, 'postgresql:');\n } catch (e) {\n return connectionString;\n }\n}\n\nconst getClient = () => {\n var ssl = ".concat(sslCode, ";\n var connStr = process.env.TELEPORT_DB_CONNECTION_STRING;\n if (connStr) {\n connStr = normalizePostgresConnectionString(connStr);\n }\n if (ssl === false && connStr) {\n connStr = stripSslQueryParamsFromConnectionString(connStr);\n }\n if (connStr) {\n return new Client(Object.assign(\n { connectionString: connStr },\n ssl !== undefined ? { ssl: ssl } : {}\n ));\n }\n return new Client(Object.assign(\n {\n host: ").concat(hostRef, ",\n port: parseInt(").concat(portRef, " || '5432', 10),\n user: ").concat(userRef, ",\n password: ").concat(passwordRef, ",\n database: ").concat(databaseRef, ",\n },\n ssl !== undefined ? { ssl: ssl } : {}\n ));\n}\n\n").concat((0, utils_1.generateSafeJSONParseCode)(), "\n\n").concat((0, utils_1.generateSearchEscapeHelpersCode)(), "\n").concat((0, transformations_1.getTransformationCode)(tableName, categories), "\n").concat((0, transformations_1.getTransformWrapperCode)(tableName), "\nconst processFilters = (filters, conditions, queryParams, paramIndex) => {\n if (!filters) return paramIndex\n \n const parsedFilters = safeJSONParse(filters)\n \n if (Array.isArray(parsedFilters)) {\n parsedFilters.forEach((filter) => {\n if (!filter.source || filter.destination === undefined) return\n \n const field = filter.source\n const value = filter.destination\n const operand = filter.operand || '='\n \n if (Array.isArray(value)) {\n if (value.length === 0) return\n if (operand === 'array_overlap') {\n // Row column is a JSON array (e.g. category_ids). Match when it\n // shares any element with the destination set. jsonb ?| (function\n // form) avoids the '?' placeholder-token ambiguity some drivers hit.\n conditions.push(`jsonb_exists_any(NULLIF(${field}, '')::jsonb, $${paramIndex}::text[])`)\n queryParams.push(value.map((entry) => String(entry)))\n paramIndex++\n return\n }\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n if (operand === '!=') {\n conditions.push(`${field} NOT IN (${placeholders.join(', ')})`)\n } else {\n conditions.push(`${field} IN (${placeholders.join(', ')})`)\n }\n } else {\n if (operand === 'array_overlap') {\n if (value === '' || value === null || value === undefined) return\n // A single comma-joined string (the multi-select Category Filter's\n // ?categoryFilter=a,b,c) expands to multiple ids; one id stays one.\n const overlapValues = String(value).split(',').map((entry) => entry.trim()).filter(Boolean)\n if (overlapValues.length === 0) return\n conditions.push(`jsonb_exists_any(NULLIF(${field}, '')::jsonb, $${paramIndex}::text[])`)\n queryParams.push(overlapValues)\n paramIndex++\n return\n }\n if (value === null) {\n if (operand === '=') {\n conditions.push(`${field} IS NULL`)\n } else if (operand === '!=') {\n conditions.push(`${field} IS NOT NULL`)\n }\n } else {\n const validOps = ['=', '!=', '>', '<', '>=', '<=']\n const sqlOperator = validOps.includes(operand) ? operand : '='\n conditions.push(`${field} ${sqlOperator} $${paramIndex}`)\n queryParams.push(value)\n paramIndex++\n }\n }\n })\n } else {\n Object.entries(parsedFilters).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n conditions.push(`${key} IN (${placeholders.join(', ')})`)\n } else {\n conditions.push(`${key} = $${paramIndex}`)\n queryParams.push(value)\n paramIndex++\n }\n })\n }\n \n return paramIndex\n}\n\n").concat((0, utils_1.generateDateFormatterCode)(), "\n\n// Matches DDL / dangerous statements the raw-query branch should refuse.\n// Keep this list conservative \u2014 anything destructive or schema-changing is\n// out of scope for a client-triggered fetch. SELECT and CTEs (WITH ...) are\n// the only shapes consumers legitimately need.\nconst BLOCKED_RAW_QUERY_PATTERNS = [\n /\\bcreate\\s+(?:temporary\\s+|temp\\s+|unlogged\\s+|global\\s+|local\\s+)?table\\b/i,\n /\\bcreate\\s+(?:unique\\s+)?index\\b/i,\n /\\bcreate\\s+(?:or\\s+replace\\s+)?(?:materialized\\s+)?view\\b/i,\n /\\bcreate\\s+(?:or\\s+replace\\s+)?trigger\\b/i,\n /\\bcreate\\s+(?:or\\s+replace\\s+)?(?:aggregate\\s+)?function\\b/i,\n /\\bcreate\\s+(?:or\\s+replace\\s+)?procedure\\b/i,\n /\\bcreate\\s+(?:database|schema|sequence|extension|type|role|user)\\b/i,\n /\\bdrop\\s+(?:table|view|index|schema|database|sequence|trigger|function|procedure|role|user|extension|type|materialized)\\b/i,\n /\\balter\\s+(?:table|view|index|schema|database|sequence|role|user|system)\\b/i,\n /\\btruncate\\b/i,\n /\\bgrant\\b/i,\n /\\brevoke\\b/i,\n /\\binsert\\b/i,\n /\\bupdate\\b/i,\n /\\bdelete\\b/i,\n /\\bcopy\\b/i,\n /\\bvacuum\\b/i,\n /\\breindex\\b/i,\n /\\bcluster\\b/i,\n]\n\nfunction assertRawQuerySafe(rawQuery) {\n if (typeof rawQuery !== 'string' || rawQuery.length === 0) {\n throw new Error('rawQuery must be a non-empty string')\n }\n // Reject multi-statement payloads \u2014 only single SELECT / WITH statements.\n // A trailing semicolon is tolerated but any content after it fails.\n var trimmed = rawQuery.trim().replace(/;\\s*$/, '')\n if (trimmed.indexOf(';') !== -1) {\n throw new Error('rawQuery must contain exactly one statement')\n }\n for (var i = 0; i < BLOCKED_RAW_QUERY_PATTERNS.length; i++) {\n if (BLOCKED_RAW_QUERY_PATTERNS[i].test(trimmed)) {\n throw new Error('rawQuery contains a blocked statement')\n }\n }\n}\n\nexport default async function handler(req, res) {\n const client = getClient()\n\n try {\n await client.connect()\n ").concat(schema ? "await client.query('SET search_path TO ".concat(schema, "')") : '', "\n\n // If the caller supplied a rawQuery, run it verbatim (after a safety\n // guard). The schema-driven branch below builds `SELECT * FROM ").concat(tableName, "`\n // with optional filters \u2014 it's the default read path and ignores\n // rawQuery. Page-load workflows and other consumers that need a JOIN\n // or a user-scoped filter pass their fully-rendered SQL here via\n // `fetchData({ rawQuery })` and expect it to execute verbatim.\n if (req.query && typeof req.query.rawQuery === 'string' && req.query.rawQuery.length > 0) {\n assertRawQuerySafe(req.query.rawQuery)\n const rawResult = await client.query(req.query.rawQuery)\n const rawRows = Array.isArray(rawResult?.rows) ? rawResult.rows : []\n const rawPlain = rawRows.map((row) =>\n row && typeof row.toJSON === 'function' ? row.toJSON() : row\n )\n const rawSafe = JSON.parse(JSON.stringify(rawPlain, dateReplacer))\n return res.status(200).json({\n success: true,\n data: rawSafe,\n timestamp: Date.now()\n })\n }\n\n const { query, queryColumns, limit, page, perPage, sortBy, sortOrder, filters, sorts, offset } = req.query\n \n const conditions = []\n const queryParams = []\n let paramIndex = 1\n \n if (query) {\n let columns = []\n \n if (queryColumns) {\n const parsed = safeJSONParse(queryColumns)\n columns = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : [])\n } else {\n try {\n const schemaQuery = `\n SELECT column_name \n FROM information_schema.columns \n WHERE table_name = $1\n ").concat(schema ? "AND table_schema = $2" : '', "\n ORDER BY ordinal_position\n `\n const schemaParams = ").concat(schema
48
48
  ? "[".concat(JSON.stringify(tableName), ", ").concat(JSON.stringify(schema), "]")
49
49
  : "[".concat(JSON.stringify(tableName), "]"), "\n \n const schemaResult = await client.query(schemaQuery, schemaParams)\n columns = schemaResult.rows.map(row => row.column_name)\n } catch (schemaError) {\n console.warn('Failed to fetch column names from information_schema:', schemaError.message)\n }\n }\n \n if (columns.length > 0) {\n const pattern = '%' + escapeLikePattern(query) + '%'\n const placeholder = '$' + paramIndex\n paramIndex++\n queryParams.push(pattern)\n const searchConditions = columns.map(\n (col) => '\"' + sanitizeSearchIdentifier(col) + '\"::text ILIKE ' + placeholder + \" ESCAPE '|'\"\n )\n conditions.push('(' + searchConditions.join(' OR ') + ')')\n }\n }\n \n paramIndex = processFilters(filters, conditions, queryParams, paramIndex)\n \n let sql = `SELECT * FROM ").concat(tableName, "`\n \n if (conditions.length > 0) {\n sql += ` WHERE ${conditions.join(' AND ')}`\n }\n \n if (sorts) {\n const parsedSorts = safeJSONParse(sorts)\n if (Array.isArray(parsedSorts) && parsedSorts.length > 0) {\n const orderClauses = parsedSorts.map((sort) => {\n if (!sort.field) return null\n const order = (sort.order || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'\n return `${sort.field} ${order}`\n }).filter(Boolean)\n\n if (orderClauses.length > 0) {\n sql += ` ORDER BY ${orderClauses.join(', ')}`\n }\n }\n } else if (sortBy) {\n sql += ` ORDER BY ${sortBy} ${(sortOrder || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'}`\n }\n \n const limitValue = limit || perPage\n const offsetValue = offset !== undefined ? parseInt(offset) : (page && perPage ? (parseInt(page) - 1) * parseInt(perPage) : undefined)\n \n if (limitValue) {\n sql += ` LIMIT ${limitValue}`\n }\n \n if (offsetValue !== undefined) {\n sql += ` OFFSET ${offsetValue}`\n }\n \n const result = await client.query(sql, queryParams)\n const rows = Array.isArray(result?.rows) ? result.rows : []\n const plainRows = rows.map((row) =>\n row && typeof row.toJSON === 'function' ? row.toJSON() : row\n )\n const safeData = JSON.parse(JSON.stringify(plainRows, dateReplacer))\n ").concat((0, transformations_1.getTransformExpression)(tableName)
50
50
  ? "const transformedData = ".concat((0, transformations_1.getTransformExpression)(tableName))
51
- : '', "\n\n return res.status(200).json({\n success: true,\n data: ").concat((0, transformations_1.getTransformExpression)(tableName) ? 'transformedData' : 'safeData', ",\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('Teleport DB fetch error:', error)\n return res.status(500).json({\n success: false,\n error: error.message || 'Failed to fetch data',\n timestamp: Date.now()\n })\n } finally {\n if (client) {\n try {\n await client.end()\n } catch (error) {\n console.error('Error closing database client:', error)\n }\n }\n }\n}\n");
51
+ : '', "\n\n // Stamp each row with a globally-correct 1-based `__rowNumber` (the page\n // offset is applied server-side above), so list index columns keep counting\n // across pages instead of restarting at 1. Renderer-internal field \u2014 it is\n // filtered from ordinary field bindings and only read by the index column.\n const __finalData = ").concat((0, transformations_1.getTransformExpression)(tableName) ? 'transformedData' : 'safeData', "\n const __rowNumberStart = (typeof offsetValue === 'number' && !isNaN(offsetValue)) ? offsetValue : 0\n const __numberedData = Array.isArray(__finalData)\n ? __finalData.map((__row, __i) =>\n __row && typeof __row === 'object' && !Array.isArray(__row)\n ? Object.assign({}, __row, { __rowNumber: __rowNumberStart + __i + 1 })\n : __row)\n : __finalData\n\n return res.status(200).json({\n success: true,\n data: __numberedData,\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('Teleport DB fetch error:', error)\n return res.status(500).json({\n success: false,\n error: error.message || 'Failed to fetch data',\n timestamp: Date.now()\n })\n } finally {\n if (client) {\n try {\n await client.end()\n } catch (error) {\n console.error('Error closing database client:', error)\n }\n }\n }\n}\n");
52
52
  };
53
53
  exports.generateTeleportFetcher = generateTeleportFetcher;
54
54
  var generateTeleportCountFetcher = function (config, tableName) {
@@ -1 +1 @@
1
- {"version":3,"file":"teleport.js","sourceRoot":"","sources":["../../../src/fetchers/teleport.ts"],"names":[],"mappings":";;;AAAA,kCAKiB;AACjB,sDAI2B;AAc3B,IAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,kBAAkB;IAC5B,GAAG,EAAE,iBAAiB;CACvB,CAAA;AAED,IAAM,mBAAmB,GAAG,UAAC,KAAc,EAAE,aAAqB;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;QACxE,OAAO,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAA;KACrC;IACD,OAAO,sBAAe,aAAa,CAAE,CAAA;AACvC,CAAC,CAAA;AAEM,IAAM,sBAAsB,GAAG,UACpC,MAA+B;IAE/B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAA;KAClE;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC,CAAA;AARY,QAAA,sBAAsB,0BAQlC;AAEM,IAAM,uBAAuB,GAAG,UACrC,MAA+B,EAC/B,SAAiB;;IAEjB,IAAM,QAAQ,GAAG,MAA0B,CAAA;IAC3C,IAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA;IAEvC,IAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACzE,IAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACzE,IAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC9F,IAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACrF,IAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAErF,IAAM,OAAO,GACX,QAAQ,CAAC,GAAG,KAAK,KAAK;QACpB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,QAAQ,CAAC,SAAS;YACpB,CAAC,CAAC,mBAEA,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACnB,CAAC,CAAC,cAAO,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,oBAAoB,CAAC,MAAG;gBAC5E,CAAC,CAAC,EAAE,qBAGN,QAAQ,CAAC,SAAS,CAAC,IAAI;gBACrB,CAAC,CAAC,gBAAS,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,sBAAsB,CAAC,MAAG;gBAClF,CAAC,CAAC,EAAE,qBAGN,QAAQ,CAAC,SAAS,CAAC,GAAG;gBACpB,CAAC,CAAC,eAAQ,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,qBAAqB,CAAC,MAAG;gBAC/E,CAAC,CAAC,EAAE,6CAGR;YACA,CAAC,CAAC,uBAAgB,gBAAgB,CAAC,GAAG,gDAAsC,gBAAgB,CAAC,GAAG,6DAA0D,CAAA;IAE9J,OAAO,08BA0BK,OAAO,udAgBP,OAAO,qCACE,OAAO,2CAChB,OAAO,gCACH,WAAW,gCACX,WAAW,+EAM3B,IAAA,iCAAyB,GAAE,iBAE3B,IAAA,uCAA+B,GAAE,eACjC,IAAA,uCAAqB,EAAC,SAAS,CAAC,eAChC,IAAA,yCAAuB,EAAC,SAAS,CAAC,+zDAwDlC,IAAA,iCAAyB,GAAE,y/DAkDvB,MAAM,CAAC,CAAC,CAAC,iDAA0C,MAAM,OAAI,CAAC,CAAC,CAAC,EAAE,gKAGD,SAAS,k/CAsClE,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,kGAIvC,MAAM;QACJ,CAAC,CAAC,WAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAG;QAC7D,CAAC,CAAC,WAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAG,w4BAwBhB,SAAS,u6CAyCnC,IAAA,wCAAsB,EAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,kCAA2B,IAAA,wCAAsB,EAAC,SAAS,CAAC,CAAE;QAChE,CAAC,CAAC,EAAE,sFAKE,IAAA,wCAAsB,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,0cAoB/E,CAAA;AACD,CAAC,CAAA;AAnVY,QAAA,uBAAuB,2BAmVnC;AAEM,IAAM,4BAA4B,GAAG,UAC1C,MAA+B,EAC/B,SAAiB;;IAEjB,IAAM,QAAQ,GAAG,MAA0B,CAAA;IAC3C,IAAM,SAAS,GAAG,CAAC,CAAC,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA,CAAA;IAE5C,OAAO,2nBAuBK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,kGAI1C,SAAS;QACP,CAAC,CAAC,WAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAQ,CAAC,MAAM,CAAC,MAAG;QAC/E,CAAC,CAAC,WAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAG,w6BA0BJ,SAAS,4uBA8BpD,CAAA;AACD,CAAC,CAAA;AA7FY,QAAA,4BAA4B,gCA6FxC"}
1
+ {"version":3,"file":"teleport.js","sourceRoot":"","sources":["../../../src/fetchers/teleport.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-utils.d.ts","sourceRoot":"","sources":["../../src/filter-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAkDrC,eAAO,MAAM,yBAAyB,YAC3B,MAAM;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,4CACjC,OAAO,KAAK,MAAM,UAAU,KACrE,MAAM,cAkBR,CAAA;AAGD,eAAO,MAAM,kBAAkB,gBAChB,MAAM,cAAc,EAAE,WAC1B,MAAM;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,SAAS,4CAC7C,OAAO,KAAK,MAAM,UAAU,KACrE,IAUF,CAAA;AAUD,eAAO,MAAM,kBAAkB,SACvB,MAAM,UAAU,EAAE,QAClB,IAAI,MAAM,CAAC,YACP,MAAM,EAAE,KACjB,IAQF,CAAA;AAaD,eAAO,MAAM,iBAAiB,SACtB,MAAM,UAAU,EAAE,QAClB,IAAI,MAAM,CAAC,WACR,MAAM,EAAE,KAChB,IASF,CAAA"}
1
+ {"version":3,"file":"filter-utils.d.ts","sourceRoot":"","sources":["../../src/filter-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AA6ErC,eAAO,MAAM,yBAAyB,YAC3B,MAAM;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,4CACjC,OAAO,KAAK,MAAM,UAAU,KACrE,MAAM,cAkBR,CAAA;AAGD,eAAO,MAAM,kBAAkB,gBAChB,MAAM,cAAc,EAAE,WAC1B,MAAM;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,SAAS,4CAC7C,OAAO,KAAK,MAAM,UAAU,KACrE,IAUF,CAAA;AAUD,eAAO,MAAM,kBAAkB,SACvB,MAAM,UAAU,EAAE,QAClB,IAAI,MAAM,CAAC,YACP,MAAM,EAAE,KACjB,IAQF,CAAA;AAaD,eAAO,MAAM,iBAAiB,SACtB,MAAM,UAAU,EAAE,QAClB,IAAI,MAAM,CAAC,WACR,MAAM,EAAE,KAChB,IASF,CAAA"}
@@ -33,18 +33,27 @@ var buildFilterEntry = function (source, destinationExpr, operand) {
33
33
  types.objectProperty(types.identifier('operand'), types.stringLiteral(operand)),
34
34
  ]);
35
35
  };
36
- // Predicate `(__f) => __f.destination !== '' && __f.destination !== null && __f.destination !== undefined`
36
+ // Predicate:
37
+ // (__f) => __f.destination !== '' && __f.destination !== null &&
38
+ // __f.destination !== undefined &&
39
+ // !(Array.isArray(__f.destination) && __f.destination.filter(Boolean).length === 0)
37
40
  // Used at runtime to drop filter conditions whose destination resolves to an
38
41
  // empty value. Keeps the page generic: state-bound filters (e.g.
39
42
  // `selectedCategory === ''` after picking "All Categories") and url-bound
40
43
  // filters (e.g. no `?categoryFilter=` in URL → `router?.query?.categoryFilter`
41
44
  // is `undefined`) both fall away cleanly instead of being sent to the API as
42
45
  // `destination: ''`, which the SQL backend interprets as a literal empty
43
- // string and returns zero rows.
46
+ // string and returns zero rows. The array clause covers array-overlap filters
47
+ // (e.g. category `CATEGORY_DESCENDANTS[selectedCategory] || []`) whose "All"
48
+ // reset resolves to `[]` — an empty overlap set must mean "no filter", not
49
+ // "match nothing".
44
50
  var buildNonEmptyDestinationPredicate = function () {
45
51
  var f = types.identifier('__f');
46
52
  var dest = types.memberExpression(f, types.identifier('destination'));
47
- return types.arrowFunctionExpression([f], types.logicalExpression('&&', types.logicalExpression('&&', types.binaryExpression('!==', dest, types.stringLiteral('')), types.binaryExpression('!==', dest, types.nullLiteral())), types.binaryExpression('!==', dest, types.identifier('undefined'))));
53
+ var isEmptyArray = types.logicalExpression('&&', types.callExpression(types.memberExpression(types.identifier('Array'), types.identifier('isArray')), [dest]), types.binaryExpression('===', types.memberExpression(types.callExpression(types.memberExpression(dest, types.identifier('filter')), [
54
+ types.identifier('Boolean'),
55
+ ]), types.identifier('length')), types.numericLiteral(0)));
56
+ return types.arrowFunctionExpression([f], types.logicalExpression('&&', types.logicalExpression('&&', types.logicalExpression('&&', types.binaryExpression('!==', dest, types.stringLiteral('')), types.binaryExpression('!==', dest, types.nullLiteral())), types.binaryExpression('!==', dest, types.identifier('undefined'))), types.unaryExpression('!', isEmptyArray)));
48
57
  };
49
58
  // Build the AST for:
50
59
  // JSON.stringify(
@@ -1 +1 @@
1
- {"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../src/filter-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../src/filter-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAKvB,MAAM,4BAA4B,CAAA;AA6anC,eAAO,MAAM,+BAA+B,EAAE,sBAAsB,CAAC,EAAE,CAietE,CAAA;AAiOD,eAAO,MAAM,mCAAmC,EAAE,sBAAsB,CAAC,EAAE,CA0O1E,CAAA;AAED,cAAc,wBAAwB,CAAA;AACtC,cAAc,SAAS,CAAA;AACvB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAKvB,MAAM,4BAA4B,CAAA;AA6anC,eAAO,MAAM,+BAA+B,EAAE,sBAAsB,CAAC,EAAE,CAmetE,CAAA;AAiOD,eAAO,MAAM,mCAAmC,EAAE,sBAAsB,CAAC,EAAE,CA6O1E,CAAA;AAED,cAAc,wBAAwB,CAAA;AACtC,cAAc,SAAS,CAAA;AACvB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -362,7 +362,7 @@ var createNextPagesDataSourcePlugin = function () {
362
362
  // Data source nodes can be either:
363
363
  // 1. Direct: node.type === 'data-source-item' or 'data-source-list'
364
364
  // 2. Wrapped in element: node.type === 'element' && node.content.type === 'data-source-item' or 'data-source-list'
365
- var _a, _b, _c;
365
+ var _a, _b, _c, _d, _e;
366
366
  var dataSourceNode = null;
367
367
  if (node.type === 'data-source-item' || node.type === 'data-source-list') {
368
368
  // Direct data source node
@@ -446,7 +446,7 @@ var createNextPagesDataSourcePlugin = function () {
446
446
  // When multiple nodes share the same dataSourceKey (same resource ID), the function is
447
447
  // idempotent for getStaticProps (skips duplicate fetches via existingInFetchMeta) but
448
448
  // still updates the next uninitialized DataProvider JSX node on each call.
449
- var result = (0, utils_1.extractDataSourceIntoGetStaticProps)(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath);
449
+ var result = (0, utils_1.extractDataSourceIntoGetStaticProps)(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath, (_d = options.ecommerceSettings) === null || _d === void 0 ? void 0 : _d.categories);
450
450
  if (result.success && result.chunk) {
451
451
  getStaticPropsChunk = result.chunk;
452
452
  // Track the first data source info for wrapping dataSourceData expressions
@@ -469,7 +469,7 @@ var createNextPagesDataSourcePlugin = function () {
469
469
  }
470
470
  }
471
471
  else {
472
- (0, utils_1.extractDataSourceIntoNextAPIFolder)(dataSourceNode, dataSources, componentChunk, options.extractedResources);
472
+ (0, utils_1.extractDataSourceIntoNextAPIFolder)(dataSourceNode, dataSources, componentChunk, options.extractedResources, (_e = options.ecommerceSettings) === null || _e === void 0 ? void 0 : _e.categories);
473
473
  }
474
474
  });
475
475
  // After processing all data source nodes, wrap any element props containing dataSourceData
@@ -793,7 +793,8 @@ function stringifyComplexParamsInDataProviders(componentChunk) {
793
793
  var createNextComponentDataSourcePlugin = function () {
794
794
  var nextComponentDataSourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
795
795
  var uidl, chunks, options, dependencies, dataSources, opts, componentConfig, componentChunk, firstDataSourceInfo, firstDataSourceId, dataSource, dsIdPrefix, dsType, existingFileName, existingTableName, _i, _a, key, parts, tableName, sanitizedDsName, sanitizedTableName, fileName, existingPropKeys, wrapContext, dataSource, fileName, generateDataSourceFetcherWithCore, fetcherCode, apiRouteCode, paginationPlugin;
796
- return __generator(this, function (_b) {
796
+ var _b;
797
+ return __generator(this, function (_c) {
797
798
  uidl = structure.uidl, chunks = structure.chunks, options = structure.options, dependencies = structure.dependencies;
798
799
  // Early return if no options or dataSources
799
800
  if (!options || !options.dataSources) {
@@ -839,7 +840,7 @@ var createNextComponentDataSourcePlugin = function () {
839
840
  // Data source nodes can be either:
840
841
  // 1. Direct: node.type === 'data-source-item' or 'data-source-list'
841
842
  // 2. Wrapped in element: node.type === 'element' && node.content.type === 'data-source-item' or 'data-source-list'
842
- var _a;
843
+ var _a, _b;
843
844
  var dataSourceNode = null;
844
845
  if (node.type === 'data-source-item' || node.type === 'data-source-list') {
845
846
  // Direct data source node
@@ -876,7 +877,7 @@ var createNextComponentDataSourcePlugin = function () {
876
877
  }
877
878
  }
878
879
  }
879
- (0, utils_1.extractDataSourceIntoNextAPIFolder)(dataSourceNode, dataSources, componentChunk, options.extractedResources);
880
+ (0, utils_1.extractDataSourceIntoNextAPIFolder)(dataSourceNode, dataSources, componentChunk, options.extractedResources, (_b = options.ecommerceSettings) === null || _b === void 0 ? void 0 : _b.categories);
880
881
  });
881
882
  // If no data source nodes were found but there are dataSources available,
882
883
  // use the first available dataSource to create firstDataSourceInfo
@@ -937,7 +938,7 @@ var createNextComponentDataSourcePlugin = function () {
937
938
  if (dataSource && !options.extractedResources["utils/".concat(fileName)]) {
938
939
  generateDataSourceFetcherWithCore = require('./data-source-fetchers').generateDataSourceFetcherWithCore;
939
940
  try {
940
- fetcherCode = generateDataSourceFetcherWithCore(dataSource, firstDataSourceInfo.tableName);
941
+ fetcherCode = generateDataSourceFetcherWithCore(dataSource, firstDataSourceInfo.tableName, false, (_b = options.ecommerceSettings) === null || _b === void 0 ? void 0 : _b.categories);
941
942
  options.extractedResources["utils/".concat(fileName)] = {
942
943
  fileName: fileName,
943
944
  fileType: teleport_types_1.FileType.JS,