@teleporthq/teleport-plugin-next-data-source 0.43.75 → 0.44.1
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.
- package/__tests__/_helpers/first-page-runtime.ts +184 -0
- package/__tests__/_helpers/pagination-widget-fixture.ts +154 -5
- package/__tests__/booking-item-transform.test.ts +120 -0
- package/__tests__/browser-row-policy.test.ts +210 -4
- package/__tests__/data-source-request-locale.test.ts +4 -3
- package/__tests__/fetchers.test.ts +7 -3
- package/__tests__/fixed-list-sort.test.ts +1 -1
- package/__tests__/infinite-scroll.test.ts +363 -9
- package/__tests__/list-sort-order.test.ts +61 -0
- package/__tests__/null-filter-where.test.ts +132 -0
- package/__tests__/page-data-visitor-read.test.ts +196 -0
- package/__tests__/pg-date-parser.test.ts +73 -0
- package/__tests__/plain-list-sort.test.ts +2 -2
- package/__tests__/plain-list-starting-sort.test.ts +323 -0
- package/__tests__/product-price-sort.ts +11 -6
- package/__tests__/range-control.test.ts +159 -0
- package/__tests__/refetch-loading-state.test.ts +158 -2
- package/__tests__/search-input-marker.test.ts +86 -0
- package/__tests__/search-url-sync.test.ts +34 -8
- package/__tests__/starting-sort-first-page.test.ts +285 -0
- package/__tests__/table-read-route-protected-tables.test.ts +33 -3
- package/dist/cjs/cache/ast.d.ts +2 -0
- package/dist/cjs/cache/ast.d.ts.map +1 -1
- package/dist/cjs/cache/ast.js +5 -2
- package/dist/cjs/cache/ast.js.map +1 -1
- package/dist/cjs/count-effect.d.ts +7 -1
- package/dist/cjs/count-effect.d.ts.map +1 -1
- package/dist/cjs/count-effect.js +15 -5
- package/dist/cjs/count-effect.js.map +1 -1
- package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
- package/dist/cjs/data-source-fetchers.js +10 -2
- package/dist/cjs/data-source-fetchers.js.map +1 -1
- package/dist/cjs/fetchers/pg-client-import.d.ts +12 -0
- package/dist/cjs/fetchers/pg-client-import.d.ts.map +1 -0
- package/dist/cjs/fetchers/pg-client-import.js +15 -0
- package/dist/cjs/fetchers/pg-client-import.js.map +1 -0
- package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
- package/dist/cjs/fetchers/postgresql.js +3 -1
- package/dist/cjs/fetchers/postgresql.js.map +1 -1
- package/dist/cjs/fetchers/raw-query.d.ts.map +1 -1
- package/dist/cjs/fetchers/raw-query.js +2 -1
- package/dist/cjs/fetchers/raw-query.js.map +1 -1
- package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
- package/dist/cjs/fetchers/teleport.js +4 -2
- package/dist/cjs/fetchers/teleport.js.map +1 -1
- package/dist/cjs/fetchers/utils/browser-row-policy.d.ts.map +1 -1
- package/dist/cjs/fetchers/utils/browser-row-policy.js +5 -1
- package/dist/cjs/fetchers/utils/browser-row-policy.js.map +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +14 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/infinite-scroll.d.ts +89 -4
- package/dist/cjs/infinite-scroll.d.ts.map +1 -1
- package/dist/cjs/infinite-scroll.js +243 -33
- package/dist/cjs/infinite-scroll.js.map +1 -1
- package/dist/cjs/list-sort-order.d.ts +14 -0
- package/dist/cjs/list-sort-order.d.ts.map +1 -0
- package/dist/cjs/list-sort-order.js +36 -0
- package/dist/cjs/list-sort-order.js.map +1 -0
- package/dist/cjs/loading-state.d.ts +23 -2
- package/dist/cjs/loading-state.d.ts.map +1 -1
- package/dist/cjs/loading-state.js +50 -15
- package/dist/cjs/loading-state.js.map +1 -1
- package/dist/cjs/pagination-controls.d.ts +22 -3
- package/dist/cjs/pagination-controls.d.ts.map +1 -1
- package/dist/cjs/pagination-controls.js +29 -3
- package/dist/cjs/pagination-controls.js.map +1 -1
- package/dist/cjs/pagination-plugin.d.ts.map +1 -1
- package/dist/cjs/pagination-plugin.js +336 -164
- package/dist/cjs/pagination-plugin.js.map +1 -1
- package/dist/cjs/range-control.d.ts +45 -0
- package/dist/cjs/range-control.d.ts.map +1 -0
- package/dist/cjs/range-control.js +165 -0
- package/dist/cjs/range-control.js.map +1 -0
- package/dist/cjs/row-order.d.ts +3 -2
- package/dist/cjs/row-order.d.ts.map +1 -1
- package/dist/cjs/row-order.js +5 -4
- package/dist/cjs/row-order.js.map +1 -1
- package/dist/cjs/search-input.d.ts +42 -0
- package/dist/cjs/search-input.d.ts.map +1 -0
- package/dist/cjs/search-input.js +158 -0
- package/dist/cjs/search-input.js.map +1 -0
- package/dist/cjs/sort-utils.d.ts +53 -1
- package/dist/cjs/sort-utils.d.ts.map +1 -1
- package/dist/cjs/sort-utils.js +105 -13
- package/dist/cjs/sort-utils.js.map +1 -1
- package/dist/cjs/transformations/booking-item.d.ts +24 -0
- package/dist/cjs/transformations/booking-item.d.ts.map +1 -0
- package/dist/cjs/transformations/booking-item.js +27 -0
- package/dist/cjs/transformations/booking-item.js.map +1 -0
- package/dist/cjs/transformations/index.d.ts +4 -2
- package/dist/cjs/transformations/index.d.ts.map +1 -1
- package/dist/cjs/transformations/index.js +14 -5
- package/dist/cjs/transformations/index.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/utils.d.ts +3 -2
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +48 -18
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/cache/ast.d.ts +2 -0
- package/dist/esm/cache/ast.d.ts.map +1 -1
- package/dist/esm/cache/ast.js +3 -1
- package/dist/esm/cache/ast.js.map +1 -1
- package/dist/esm/count-effect.d.ts +7 -1
- package/dist/esm/count-effect.d.ts.map +1 -1
- package/dist/esm/count-effect.js +15 -5
- package/dist/esm/count-effect.js.map +1 -1
- package/dist/esm/data-source-fetchers.d.ts.map +1 -1
- package/dist/esm/data-source-fetchers.js +10 -2
- package/dist/esm/data-source-fetchers.js.map +1 -1
- package/dist/esm/fetchers/pg-client-import.d.ts +12 -0
- package/dist/esm/fetchers/pg-client-import.d.ts.map +1 -0
- package/dist/esm/fetchers/pg-client-import.js +12 -0
- package/dist/esm/fetchers/pg-client-import.js.map +1 -0
- package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
- package/dist/esm/fetchers/postgresql.js +3 -1
- package/dist/esm/fetchers/postgresql.js.map +1 -1
- package/dist/esm/fetchers/raw-query.d.ts.map +1 -1
- package/dist/esm/fetchers/raw-query.js +2 -1
- package/dist/esm/fetchers/raw-query.js.map +1 -1
- package/dist/esm/fetchers/teleport.d.ts.map +1 -1
- package/dist/esm/fetchers/teleport.js +4 -2
- package/dist/esm/fetchers/teleport.js.map +1 -1
- package/dist/esm/fetchers/utils/browser-row-policy.d.ts.map +1 -1
- package/dist/esm/fetchers/utils/browser-row-policy.js +6 -2
- package/dist/esm/fetchers/utils/browser-row-policy.js.map +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +14 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/infinite-scroll.d.ts +89 -4
- package/dist/esm/infinite-scroll.d.ts.map +1 -1
- package/dist/esm/infinite-scroll.js +237 -32
- package/dist/esm/infinite-scroll.js.map +1 -1
- package/dist/esm/list-sort-order.d.ts +14 -0
- package/dist/esm/list-sort-order.d.ts.map +1 -0
- package/dist/esm/list-sort-order.js +32 -0
- package/dist/esm/list-sort-order.js.map +1 -0
- package/dist/esm/loading-state.d.ts +23 -2
- package/dist/esm/loading-state.d.ts.map +1 -1
- package/dist/esm/loading-state.js +50 -15
- package/dist/esm/loading-state.js.map +1 -1
- package/dist/esm/pagination-controls.d.ts +22 -3
- package/dist/esm/pagination-controls.d.ts.map +1 -1
- package/dist/esm/pagination-controls.js +28 -2
- package/dist/esm/pagination-controls.js.map +1 -1
- package/dist/esm/pagination-plugin.d.ts.map +1 -1
- package/dist/esm/pagination-plugin.js +340 -168
- package/dist/esm/pagination-plugin.js.map +1 -1
- package/dist/esm/range-control.d.ts +45 -0
- package/dist/esm/range-control.d.ts.map +1 -0
- package/dist/esm/range-control.js +137 -0
- package/dist/esm/range-control.js.map +1 -0
- package/dist/esm/row-order.d.ts +3 -2
- package/dist/esm/row-order.d.ts.map +1 -1
- package/dist/esm/row-order.js +5 -4
- package/dist/esm/row-order.js.map +1 -1
- package/dist/esm/search-input.d.ts +42 -0
- package/dist/esm/search-input.d.ts.map +1 -0
- package/dist/esm/search-input.js +129 -0
- package/dist/esm/search-input.js.map +1 -0
- package/dist/esm/sort-utils.d.ts +53 -1
- package/dist/esm/sort-utils.d.ts.map +1 -1
- package/dist/esm/sort-utils.js +100 -12
- package/dist/esm/sort-utils.js.map +1 -1
- package/dist/esm/transformations/booking-item.d.ts +24 -0
- package/dist/esm/transformations/booking-item.d.ts.map +1 -0
- package/dist/esm/transformations/booking-item.js +23 -0
- package/dist/esm/transformations/booking-item.js.map +1 -0
- package/dist/esm/transformations/index.d.ts +4 -2
- package/dist/esm/transformations/index.d.ts.map +1 -1
- package/dist/esm/transformations/index.js +14 -5
- package/dist/esm/transformations/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +3 -2
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +49 -19
- package/dist/esm/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/cache/ast.ts +4 -1
- package/src/count-effect.ts +31 -8
- package/src/data-source-fetchers.ts +33 -14
- package/src/fetchers/pg-client-import.ts +16 -0
- package/src/fetchers/postgresql.ts +15 -9
- package/src/fetchers/raw-query.ts +2 -1
- package/src/fetchers/teleport.ts +19 -10
- package/src/fetchers/utils/browser-row-policy.ts +79 -5
- package/src/index.ts +8 -2
- package/src/infinite-scroll.ts +420 -81
- package/src/list-sort-order.ts +34 -0
- package/src/loading-state.ts +85 -13
- package/src/pagination-controls.ts +26 -3
- package/src/pagination-plugin.ts +532 -218
- package/src/range-control.ts +207 -0
- package/src/row-order.ts +5 -4
- package/src/search-input.ts +190 -0
- package/src/sort-utils.ts +164 -21
- package/src/transformations/booking-item.ts +71 -0
- package/src/transformations/index.ts +25 -2
- package/src/utils.ts +55 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../../src/fetchers/postgresql.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AACnG,OAAO,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../../src/fetchers/postgresql.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-query.d.ts","sourceRoot":"","sources":["../../../src/fetchers/raw-query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"raw-query.d.ts","sourceRoot":"","sources":["../../../src/fetchers/raw-query.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,WAC1B,OAAO,MAAM,EAAE,OAAO,CAAC,SACxB,MAAM,eACA,MAAM,EAAE,KACpB,MA6IF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,UAC/B,MAAM;wBACU,MAAM;iBAAe,MAAM,EAAE;CAoCrD,CAAA"}
|
|
@@ -9,6 +9,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
9
9
|
};
|
|
10
10
|
import { SessionCookieResolver } from '@teleporthq/teleport-shared';
|
|
11
11
|
import { replaceSecretReference } from '../utils';
|
|
12
|
+
import { PG_CLIENT_IMPORT } from './pg-client-import';
|
|
12
13
|
var FORBIDDEN_KEYWORDS = ['CREATE', 'ALTER', 'DROP', 'TRUNCATE', 'RENAME', 'GRANT', 'REVOKE'];
|
|
13
14
|
/** The param a `{{Current User.<field>}}` token becomes: `currentUser` + the field, capitalised. */
|
|
14
15
|
var CURRENT_USER_PARAM_PREFIX = 'currentUser';
|
|
@@ -61,7 +62,7 @@ export var generateRawQueryFetcher = function (config, query, paramFields) {
|
|
|
61
62
|
? "{\n ".concat(pgConfig.sslConfig.ca ? "ca: ".concat(replaceSecretReference(pgConfig.sslConfig.ca), ",") : '', "\n ").concat(pgConfig.sslConfig.cert ? "cert: ".concat(replaceSecretReference(pgConfig.sslConfig.cert), ",") : '', "\n ").concat(pgConfig.sslConfig.key ? "key: ".concat(replaceSecretReference(pgConfig.sslConfig.key), ",") : '', "\n rejectUnauthorized: false\n }")
|
|
62
63
|
: '{ rejectUnauthorized: false }'
|
|
63
64
|
: 'false';
|
|
64
|
-
return "
|
|
65
|
+
return "".concat(PG_CLIENT_IMPORT, "\n\nconst FORBIDDEN_KEYWORDS = ").concat(JSON.stringify(FORBIDDEN_KEYWORDS), "\n").concat(sessionHelpers, "\nconst getClient = () => {\n const connStr = process.env.TELEPORT_DB_CONNECTION_STRING\n if (connStr) {\n const sslEnv = process.env.TELEPORT_DB_SSL\n const sslOpt = sslEnv === 'false' ? false : sslEnv === 'true' ? { rejectUnauthorized: false } : undefined\n return new Client(Object.assign({ connectionString: connStr }, sslOpt !== undefined ? { ssl: sslOpt } : {}))\n }\n return new Client({\n host: process.env.TELEPORT_DB_HOST || ").concat(JSON.stringify((_a = pgConfig.host) !== null && _a !== void 0 ? _a : null), ",\n port: parseInt(process.env.TELEPORT_DB_PORT || '").concat(pgConfig.port || 5432, "', 10),\n user: process.env.TELEPORT_DB_USER || ").concat(JSON.stringify((_c = (_b = pgConfig.user) !== null && _b !== void 0 ? _b : pgConfig.username) !== null && _c !== void 0 ? _c : null), ",\n password: process.env.TELEPORT_DB_PASSWORD || ").concat(replaceSecretReference(pgConfig.password) !== 'undefined'
|
|
65
66
|
? replaceSecretReference(pgConfig.password)
|
|
66
67
|
: 'null', ",\n database: process.env.TELEPORT_DB_NAME || ").concat(JSON.stringify((_d = pgConfig.database) !== null && _d !== void 0 ? _d : null), ",\n ssl: ").concat(sslValue, "\n })\n}\n\nconst validateQuery = (query) => {\n const trimmed = query.trim().toUpperCase()\n for (const keyword of FORBIDDEN_KEYWORDS) {\n if (trimmed.startsWith(keyword)) {\n return false\n }\n }\n return true\n}\n\nexport default async function handler(req, res) {\n try {\n ").concat(paramDestructure, "\n ").concat(paramValidation, "\n\n const query = ").concat(JSON.stringify(query), "\n\n if (!validateQuery(query)) {\n return res.status(400).json({\n success: false,\n error: 'Only SELECT queries are allowed',\n timestamp: Date.now()\n })\n }\n\n const client = getClient()\n await client.connect()\n\n try {\n const result = await client.query(query, ").concat(paramArray, ")\n\n return res.status(200).json({\n success: true,\n data: result.rows,\n timestamp: Date.now()\n })\n } finally {\n await client.end()\n }\n } catch (error) {\n // A database error names tables, columns and values: server log only.\n console.error('Raw query fetch error:', error)\n return res.status(500).json({\n success: false,\n error: 'Failed to fetch data',\n timestamp: Date.now()\n })\n }\n}\n");
|
|
67
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-query.js","sourceRoot":"","sources":["../../../src/fetchers/raw-query.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"raw-query.js","sourceRoot":"","sources":["../../../src/fetchers/raw-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teleport.d.ts","sourceRoot":"","sources":["../../../src/fetchers/teleport.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"teleport.d.ts","sourceRoot":"","sources":["../../../src/fetchers/teleport.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAA;AA0C3B,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,qBACC,sBAAsB,KACvC,MAicF,CAAA;AAED,eAAO,MAAM,4BAA4B,WAC/B,OAAO,MAAM,EAAE,OAAO,CAAC,aACpB,MAAM,KAChB,MA8FF,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { replaceSecretReference, generateDateFormatterCode, generateSafeJSONParseCode, generateFilterTreeHelpersCode, generateSearchEscapeHelpersCode, } from '../utils';
|
|
2
2
|
import { getTransformationCode, getTransformExpression, getTransformWrapperCode, } from '../transformations';
|
|
3
3
|
import { generateSortFallbackFieldHelper, generateSortFieldSqlHelper } from '../product-price-sort';
|
|
4
|
+
import { SORT_NULLS_LAST_SQL } from '../list-sort-order';
|
|
4
5
|
import { generateRowOrderTiebreakHelper, rowIdentityColumn } from '../row-order';
|
|
5
6
|
import { generateProductFilterClauseHelper } from '../product-filter-fields';
|
|
6
7
|
import { collectLocalizedColumns, generateLocalizedColumnsHelper } from '../localized-columns';
|
|
@@ -8,6 +9,7 @@ import { REQUEST_LOCALE_PARAM } from '../request-locale';
|
|
|
8
9
|
import { generateReadGuardCall, generateTableAccessPreamble } from './utils/table-access-guard';
|
|
9
10
|
import { generateRequestSqlGuardsCode } from './utils/request-sql-guards';
|
|
10
11
|
import { generateArrayOverlapSqlCode } from '../array-overlap-sql';
|
|
12
|
+
import { PG_CLIENT_IMPORT } from './pg-client-import';
|
|
11
13
|
var DEFAULT_ENV_KEYS = {
|
|
12
14
|
host: 'TELEPORT_DB_HOST',
|
|
13
15
|
port: 'TELEPORT_DB_PORT',
|
|
@@ -53,9 +55,9 @@ export var generateTeleportFetcher = function (config, tableName, transformOptio
|
|
|
53
55
|
? "key: ".concat(resolveEnvReference(dbConfig.sslConfig.key, 'TELEPORT_DB_SSL_KEY'), ",")
|
|
54
56
|
: '', "\n rejectUnauthorized: false\n }")
|
|
55
57
|
: "(process.env.".concat(DEFAULT_ENV_KEYS.ssl, " === 'false' ? false : process.env.").concat(DEFAULT_ENV_KEYS.ssl, " === 'true' ? { rejectUnauthorized: false } : undefined)");
|
|
56
|
-
return "import { Client } from 'pg'\n\n".concat(generateTableAccessPreamble(transformOptions.trustedReaderRoles || []), "\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(generateSafeJSONParseCode(), "\n\n").concat(generateFilterTreeHelpersCode(), "\n\n").concat(generateSearchEscapeHelpersCode(), "\n").concat(generateArrayOverlapSqlCode(), "\n").concat(getTransformationCode(tableName, transformOptions), "\n").concat(getTransformWrapperCode(tableName, transformOptions), "\n").concat(generateRequestSqlGuardsCode(), "\nconst processFilters = (filters, conditions, queryParams, paramIndex) => {\n if (!filters) return paramIndex\n \n const filterTree = normalizeFilterTree(safeJSONParse(filters))\n if (!filterTree) return paramIndex\n \n const buildCondition = (condition) => {\n const field = condition.source\n const normalizedCondition = normalizeInOperand(condition.operand, condition.destination)\n if (normalizedCondition === null) return null\n const value = normalizedCondition.value\n const operand = normalizedCondition.operand\n \n // The products table's virtual fields (effective price, rating bucket,\n // on-sale flag, variant axes) are whole clauses, not columns - so they are\n // answered before any branch below can interpolate the field name raw.\n const productClause = productFilterClause(field, operand, value, (param) => {\n queryParams.push(param)\n return '$' + paramIndex++\n })\n if (productClause !== null) return productClause\n\n // A translatable column is compared against the value in every language,\n // so a localized slug resolves under any locale - see localized-columns.ts.\n const localizedClause = localizedEqualityClause(field, operand, value, (param) => {\n queryParams.push(param)\n return '$' + paramIndex++\n })\n if (localizedClause !== null) return localizedClause\n assertRequestColumn(field, 'filter field')\n \n if (Array.isArray(value)) {\n if (value.length === 0) return null\n if (operand === 'array_overlap') {\n // The row's list (see array-overlap-sql.ts) shares any value with the set.\n const clause = arrayOverlapSql((localizedColumnList(field) || [field]), '$' + paramIndex)\n queryParams.push(value.map((entry) => String(entry)))\n paramIndex++\n return clause\n }\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n return operand === '!='\n ? `${field} NOT IN (${placeholders.join(', ')})`\n : `${field} IN (${placeholders.join(', ')})`\n }\n \n if (operand === 'array_overlap') {\n if (value === '' || value === null || value === undefined) return null\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 null\n const clause = arrayOverlapSql((localizedColumnList(field) || [field]), '$' + paramIndex)\n queryParams.push(overlapValues)\n paramIndex++\n return clause\n }\n \n if (value === null) {\n if (operand === '=') return `${field} IS NULL`\n if (operand === '!=') return `${field} IS NOT NULL`\n return null\n }\n \n const validOps = ['=', '!=', '>', '<', '>=', '<=']\n const sqlOperator = validOps.includes(operand) ? operand : '='\n const clause = `${field} ${sqlOperator} $${paramIndex}`\n queryParams.push(value)\n paramIndex++\n return clause\n }\n \n const clause = buildFilterTreeClause(filterTree, buildCondition)\n if (clause) conditions.push(clause)\n \n return paramIndex\n}\n\n").concat(generateDateFormatterCode(), "\n\n").concat(generateSortFieldSqlHelper(tableName), "\n\n").concat(generateSortFallbackFieldHelper(tableName), "\n\n").concat(generateRowOrderTiebreakHelper(rowIdentityColumn(config, tableName)), "\n\n").concat(generateProductFilterClauseHelper(tableName), "\n\n").concat(generateLocalizedColumnsHelper(localizedColumns), "\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").concat(generateReadGuardCall(tableName, 'req.query && req.query.rawQuery'), "\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 // Every row here ends up in a browser (a page's props or a client\n // refetch), so no credential column survives, whatever joined it.\n data: __taWithoutCredentials(rawSafe, null),\n timestamp: Date.now()\n })\n }\n\n const { query, queryColumns, limit, page, perPage, sortBy, sortOrder, filters, sorts, offset } = req.query\n // A visitor never filters, sorts or searches by a column it is not served.\n if (__rowPolicy) __brpAssertVisibleFields(__rowPolicy, req.query)\n // The language the page is in - what a translatable sort orders by.\n const requestLocale = typeof req.query.").concat(REQUEST_LOCALE_PARAM, " === 'string' ? req.query.").concat(REQUEST_LOCALE_PARAM, " : null\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
|
|
58
|
+
return "".concat(PG_CLIENT_IMPORT, "\n\n").concat(generateTableAccessPreamble(transformOptions.trustedReaderRoles || []), "\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(generateSafeJSONParseCode(), "\n\n").concat(generateFilterTreeHelpersCode(), "\n\n").concat(generateSearchEscapeHelpersCode(), "\n").concat(generateArrayOverlapSqlCode(), "\n").concat(getTransformationCode(tableName, transformOptions), "\n").concat(getTransformWrapperCode(tableName, transformOptions), "\n").concat(generateRequestSqlGuardsCode(), "\nconst processFilters = (filters, conditions, queryParams, paramIndex) => {\n if (!filters) return paramIndex\n \n const filterTree = normalizeFilterTree(safeJSONParse(filters))\n if (!filterTree) return paramIndex\n \n const buildCondition = (condition) => {\n const field = condition.source\n const normalizedCondition = normalizeInOperand(condition.operand, condition.destination)\n if (normalizedCondition === null) return null\n const value = normalizedCondition.value\n const operand = normalizedCondition.operand\n \n // The products table's virtual fields (effective price, rating bucket,\n // on-sale flag, variant axes) are whole clauses, not columns - so they are\n // answered before any branch below can interpolate the field name raw.\n const productClause = productFilterClause(field, operand, value, (param) => {\n queryParams.push(param)\n return '$' + paramIndex++\n })\n if (productClause !== null) return productClause\n\n // A translatable column is compared against the value in every language,\n // so a localized slug resolves under any locale - see localized-columns.ts.\n const localizedClause = localizedEqualityClause(field, operand, value, (param) => {\n queryParams.push(param)\n return '$' + paramIndex++\n })\n if (localizedClause !== null) return localizedClause\n assertRequestColumn(field, 'filter field')\n \n if (Array.isArray(value)) {\n if (value.length === 0) return null\n if (operand === 'array_overlap') {\n // The row's list (see array-overlap-sql.ts) shares any value with the set.\n const clause = arrayOverlapSql((localizedColumnList(field) || [field]), '$' + paramIndex)\n queryParams.push(value.map((entry) => String(entry)))\n paramIndex++\n return clause\n }\n const placeholders = value.map(() => `$${paramIndex++}`)\n queryParams.push(...value)\n return operand === '!='\n ? `${field} NOT IN (${placeholders.join(', ')})`\n : `${field} IN (${placeholders.join(', ')})`\n }\n \n if (operand === 'array_overlap') {\n if (value === '' || value === null || value === undefined) return null\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 null\n const clause = arrayOverlapSql((localizedColumnList(field) || [field]), '$' + paramIndex)\n queryParams.push(overlapValues)\n paramIndex++\n return clause\n }\n \n if (value === null) {\n if (operand === '=') return `${field} IS NULL`\n if (operand === '!=') return `${field} IS NOT NULL`\n return null\n }\n \n const validOps = ['=', '!=', '>', '<', '>=', '<=']\n const sqlOperator = validOps.includes(operand) ? operand : '='\n const clause = `${field} ${sqlOperator} $${paramIndex}`\n queryParams.push(value)\n paramIndex++\n return clause\n }\n \n const clause = buildFilterTreeClause(filterTree, buildCondition)\n if (clause) conditions.push(clause)\n \n return paramIndex\n}\n\n").concat(generateDateFormatterCode(), "\n\n").concat(generateSortFieldSqlHelper(tableName), "\n\n").concat(generateSortFallbackFieldHelper(tableName), "\n\n").concat(generateRowOrderTiebreakHelper(rowIdentityColumn(config, tableName)), "\n\n").concat(generateProductFilterClauseHelper(tableName), "\n\n").concat(generateLocalizedColumnsHelper(localizedColumns), "\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").concat(generateReadGuardCall(tableName, 'req.query && req.query.rawQuery'), "\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 // A page's own statement, read for a visitor, runs over the rows a\n // visitor is served of every narrowed table it names.\n const rawSql = __rowAccess.narrowRaw ? __brpNarrowRawQuery(req.query.rawQuery) : req.query.rawQuery\n const rawResult = await client.query(rawSql)\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 // Every row here ends up in a browser (a page's props or a client\n // refetch), so no credential column survives, whatever joined it.\n data: __taWithoutCredentials(\n __rowAccess.narrowRaw ? __brpStripHiddenOfRaw(req.query.rawQuery, rawSafe) : rawSafe,\n null\n ),\n timestamp: Date.now()\n })\n }\n\n const { query, queryColumns, limit, page, perPage, sortBy, sortOrder, filters, sorts, offset } = req.query\n // A visitor never filters, sorts or searches by a column it is not served.\n if (__rowPolicy) __brpAssertVisibleFields(__rowPolicy, req.query)\n // The language the page is in - what a translatable sort orders by.\n const requestLocale = typeof req.query.").concat(REQUEST_LOCALE_PARAM, " === 'string' ? req.query.").concat(REQUEST_LOCALE_PARAM, " : null\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
|
|
57
59
|
? "[".concat(JSON.stringify(tableName), ", ").concat(JSON.stringify(schema), "]")
|
|
58
|
-
: "[".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 if (__rowPolicy) columns = __brpVisibleColumns(__rowPolicy, columns)\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 if (__rowPolicy) conditions.push('(' + __rowPolicy.predicate + ')')\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. Two ORDER BY clauses are built: the one\n // actually used (a translatable column in the request's language, the\n // products table's price rewrites), and a plain-column twin kept only as
|
|
60
|
+
: "[".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 if (__rowPolicy) columns = __brpVisibleColumns(__rowPolicy, columns)\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 if (__rowPolicy) conditions.push('(' + __rowPolicy.predicate + ')')\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. Two ORDER BY clauses are built: the one\n // actually used (a translatable column in the request's language, the\n // products table's price rewrites, rows without a value last), and a\n // plain-column twin kept only as the fallback below.\n let orderBySql = ''\n let plainOrderBySql = ''\n if (sorts) {\n const parsedSorts = safeJSONParse(sorts)\n if (Array.isArray(parsedSorts) && parsedSorts.length > 0) {\n const valid = parsedSorts.filter((sort) => sort && sort.field)\n valid.forEach((sort) => assertRequestColumn(sort.field, 'sort field'))\n const orderOf = (sort) => (sort.order || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'\n const orderClauses = valid.map((sort) => `${localizedSortFieldSql(sort.field, requestLocale) || sortFieldSql(sort.field)} ${orderOf(sort)}").concat(SORT_NULLS_LAST_SQL, "`)\n const plainClauses = valid.map((sort) => `${sortFallbackField(sort.field)} ${orderOf(sort)}`)\n\n if (orderClauses.length > 0) {\n // The row's own key last, so equal rows can't repeat across pages\n // or vanish between them.\n const tiebreak = rowOrderTiebreak(valid.map((sort) => sort.field), orderOf(valid[valid.length - 1]))\n orderBySql = ` ORDER BY ${orderClauses.join(', ')}${tiebreak}`\n plainOrderBySql = ` ORDER BY ${plainClauses.join(', ')}${tiebreak}`\n }\n }\n } else if (sortBy) {\n assertRequestColumn(sortBy, 'sort field')\n const sortByDirection = (sortOrder || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'\n const tiebreak = rowOrderTiebreak([sortBy], sortByDirection)\n orderBySql = ` ORDER BY ${localizedSortFieldSql(sortBy, requestLocale) || sortBy} ${sortByDirection}").concat(SORT_NULLS_LAST_SQL, "${tiebreak}`\n plainOrderBySql = ` ORDER BY ${sortBy} ${sortByDirection}${tiebreak}`\n }\n const usedRewrittenSort = orderBySql !== plainOrderBySql\n\n const limitValue = requestRowCount(limit || perPage)\n const offsetValue = offset !== undefined ? parseInt(offset) : (page && perPage ? (parseInt(page) - 1) * parseInt(perPage) : undefined)\n\n let sqlTail = ''\n if (limitValue !== undefined) {\n sqlTail += ` LIMIT ${limitValue}`\n }\n \n if (offsetValue !== undefined) {\n sqlTail += ` OFFSET ${offsetValue}`\n }\n\n const baseSql = sql\n sql = baseSql + orderBySql + sqlTail\n\n // The discount-aware price ordering is an inline sub-select over a JSON\n // column. It is written to be unraisable, but it runs inside ORDER BY for\n // the whole table - so if a database ever rejects it, fall back to ordering\n // by the stored list price rather than serving an empty products page. The\n // translatable-column ordering takes the same exit: a per-language column\n // the schema had at generation time may have been dropped since. So does\n // the empty-values-last ordering.\n let result\n try {\n result = await client.query(sql, queryParams)\n } catch (sortError) {\n if (!usedRewrittenSort) throw sortError\n console.warn(\n 'Rewritten sort failed; falling back to the plain column:',\n sortError && sortError.message\n )\n result = await client.query(baseSql + plainOrderBySql + sqlTail, queryParams)\n }\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(getTransformExpression(tableName)
|
|
59
61
|
? "const transformedData = ".concat(getTransformExpression(tableName))
|
|
60
62
|
: '', "\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(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: __taWithoutCredentials(\n __rowPolicy ? __brpStripHidden(__rowPolicy, __numberedData) : __numberedData,\n ").concat(JSON.stringify(tableName), "\n ),\n timestamp: Date.now()\n })\n } catch (error) {\n console.error('Teleport DB fetch error:', error)\n // A database error names tables, columns and values: it stays in the server\n // log. Only an error this route raised for the caller (it carries a status)\n // is repeated to it.\n return res.status(error.status || 500).json({\n success: false,\n error: error.status ? 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");
|
|
61
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teleport.js","sourceRoot":"","sources":["../../../src/fetchers/teleport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GAExB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AACnG,OAAO,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"teleport.js","sourceRoot":"","sources":["../../../src/fetchers/teleport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-row-policy.d.ts","sourceRoot":"","sources":["../../../../src/fetchers/utils/browser-row-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"browser-row-policy.d.ts","sourceRoot":"","sources":["../../../../src/fetchers/utils/browser-row-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAe,MAAM,6BAA6B,CAAA;AAExE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAA;AAE7D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CACxC,CAAA;AAEpC;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,QACnC,MAyML,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,cACpB,MAAM,mBACA,cAAc,MAAM,CAAC,KACrC,OAUF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,cAC5B,MAAM,gBACH,MAAM,GAAG,IAAI,KAC1B,MASF,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ContentTables } from '@teleporthq/teleport-shared';
|
|
1
|
+
import { ContentTables, TableAccess } from '@teleporthq/teleport-shared';
|
|
2
2
|
/**
|
|
3
3
|
* One map for both route families: the content presets' posts tables (ONLY
|
|
4
4
|
* `published` rows, never the author's email — see
|
|
@@ -13,7 +13,11 @@ export var BROWSER_ROW_POLICIES = ContentTables.VISITOR_ROW_POLICIES;
|
|
|
13
13
|
* the table whole). Plus the helpers that apply a policy to a request and to
|
|
14
14
|
* its rows.
|
|
15
15
|
*/
|
|
16
|
-
export var generateBrowserRowPolicyCode = function () { return "// GENERATED \u2014 see browser-row-policy.ts in teleport-plugin-next-data-source.\nvar __BRP_POLICIES = ".concat(JSON.stringify(BROWSER_ROW_POLICIES), ";\n\n//
|
|
16
|
+
export var generateBrowserRowPolicyCode = function () { return "// GENERATED \u2014 see browser-row-policy.ts in teleport-plugin-next-data-source.\nvar __BRP_POLICIES = ".concat(JSON.stringify(BROWSER_ROW_POLICIES), ";\n\n// What a page's own data carries of a member, read for a visitor: the public\n// profile (TableAccess.PUBLIC_PROFILE_COLUMNS) \u2014 an allow-list, so a column the\n// account row gains later stays out too. A browser reads the table not at all.\nvar __BRP_PUBLIC_PROFILE = ").concat(JSON.stringify({
|
|
17
|
+
predicate: 'TRUE',
|
|
18
|
+
hiddenColumns: [],
|
|
19
|
+
visibleColumns: TableAccess.PUBLIC_PROFILE_COLUMNS,
|
|
20
|
+
}), ";\n\n// Who is asking: the store's own server code and its administrators read every\n// row; anyone else is a visitor \u2014 a page's own data included (`__taIsVisitorView`).\nasync function __brpReader(req) {\n if (__taIsVisitorView(req)) return { trusted: false };\n if (__taIsInternalRequest(req)) return { trusted: true };\n var token = null;\n try {\n token = await __tqSessionToken(req);\n } catch (e) {\n token = null;\n }\n var role = token ? __taRoleOf(token) : null;\n return { trusted: !!role && __TA_TRUSTED_READER_ROLES.indexOf(role) !== -1 };\n}\n\nfunction __brpMentionsAny(rawQuery, tables) {\n for (var i = 0; i < tables.length; i++) {\n if (__taSqlMentionsTable(rawQuery, tables[i])) return true;\n }\n return false;\n}\n\n// A visitor's browser may not send a statement that names a narrowed table: it\n// is refused whole. A page's own statement, read for a visitor, is run over the\n// rows a visitor is served instead (`narrowRaw`, see `__brpNarrowRawQuery`).\n// The session is only decoded when the read touches one of these tables.\nasync function __brpAccess(req, tableName, rawQuery) {\n var raw = typeof rawQuery === 'string' && rawQuery.length > 0 ? rawQuery : null;\n if (!raw && __taIsVisitorView(req) && __taIsCredentialTable(tableName)) {\n return { denied: null, policy: __BRP_PUBLIC_PROFILE };\n }\n var bare = __taNormalizeTable(tableName);\n var rawNarrowed = !!raw && __brpMentionsAny(raw, Object.keys(__BRP_POLICIES));\n var policy = raw ? null : (Object.prototype.hasOwnProperty.call(__BRP_POLICIES, bare) ? __BRP_POLICIES[bare] : null);\n if (!rawNarrowed && !policy) return { denied: null, policy: null };\n var reader = await __brpReader(req);\n if (reader.trusted) return { denied: null, policy: null };\n if (rawNarrowed) {\n if (__taIsVisitorView(req)) return { denied: null, policy: null, narrowRaw: true };\n return { denied: { status: 403, message: 'Forbidden: raw queries over this table are only available to server-side calls' }, policy: null };\n }\n return { denied: null, policy: policy };\n}\n\nfunction __brpRefuseRaw(what) {\n var err = new Error('Forbidden: ' + what + ' cannot be read for a visitor');\n err.status = 403;\n return err;\n}\n\n// A page's own statement over the rows a visitor is served: every narrowed\n// table it reads becomes a WITH entry of the same name, ahead of the\n// statement, which its own references \u2014 and its own WITH entries \u2014 resolve to:\n//\n// WITH \"teleport_products\" AS (SELECT * FROM \"teleport_products\" AS __brp_rows WHERE (<predicate>)) <statement>\n//\n// Inside its own definition the entry names the table itself (a WITH that is\n// not RECURSIVE does not see itself). A hidden column reads NULL however the\n// statement spells it \u2014 an alias, a whole-row value. A statement this cannot\n// vouch for is refused: unreadable or opaque, RECURSIVE (its entries would see\n// themselves), or naming a narrowed table through a schema, which reaches the\n// table past the entry.\nfunction __brpNarrowRawQuery(sql) {\n var cleaned = __taCleanSql(sql);\n if (!cleaned.ok || __TA_OPAQUE_SQL_RE.test(cleaned.text)) throw __brpRefuseRaw('this statement');\n var tables = Object.keys(__BRP_POLICIES).filter(function(table) {\n return new RegExp('(?:^|[^A-Za-z0-9_])\"?' + table + '\"?(?![A-Za-z0-9_])', 'i').test(cleaned.text);\n });\n if (tables.length === 0) return sql;\n var leading = /^\\s*with\\b(\\s+recursive\\b)?/i.exec(cleaned.text);\n if (leading && leading[1]) throw __brpRefuseRaw('a recursive statement');\n tables.forEach(function(table) {\n if (new RegExp('\\\\.\\\\s*\"?' + table + '\"?(?![A-Za-z0-9_])', 'i').test(cleaned.text)) throw __brpRefuseRaw(table);\n });\n var entries = tables.map(function(table) {\n var policy = __BRP_POLICIES[table];\n var hidden = {};\n policy.hiddenColumns.forEach(function(column) { hidden[column] = null; });\n var columns = policy.hiddenColumns.length > 0\n ? '(jsonb_populate_record(__brp_rows, ' + \"'\" + JSON.stringify(hidden) + \"'\" + '::jsonb)).*'\n : '*';\n return '\"' + table + '\" AS (SELECT ' + columns + ' FROM \"' + table + '\" AS __brp_rows WHERE (' + policy.predicate + '))';\n });\n var statement = String(sql).trim().replace(/;\\s*$/, '');\n if (!leading) return 'WITH ' + entries.join(', ') + ' ' + statement;\n // The statement's own WITH list follows ours, so its entries read ours too.\n var own = /^with\\b/i.exec(statement);\n if (!own) throw __brpRefuseRaw('this statement');\n return 'WITH ' + entries.join(', ') + ', ' + statement.slice(own[0].length);\n}\n\n// The rows of a statement narrowed for a visitor, without the hidden columns\n// of the tables it read.\nfunction __brpStripHiddenOfRaw(sql, rows) {\n var cleaned = __taCleanSql(sql);\n return Object.keys(__BRP_POLICIES).reduce(function(current, table) {\n return cleaned.ok && __taSqlMentionsTable(sql, table) ? __brpStripHidden(__BRP_POLICIES[table], current) : current;\n }, rows);\n}\n\nfunction __brpColumnName(field) {\n var parts = String(field == null ? '' : field).replace(/\"/g, '').trim().split('.');\n return parts[parts.length - 1];\n}\n\n// A column the policy keeps from the reader: one it hides, or \u2014 for a policy\n// that names the only columns it serves (`visibleColumns`) \u2014 any other.\nfunction __brpIsHidden(policy, field) {\n var name = __brpColumnName(field).toLowerCase();\n if (policy.visibleColumns) return policy.visibleColumns.indexOf(name) === -1;\n for (var i = 0; i < policy.hiddenColumns.length; i++) {\n if (policy.hiddenColumns[i].toLowerCase() === name) return true;\n }\n return false;\n}\n\n// Every field a request filters, sorts or searches by, however deep a filter\n// group nests it. A condition's value is data, not a field.\nfunction __brpRequestFields(value, out) {\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) __brpRequestFields(value[i], out);\n } else if (value && typeof value === 'object') {\n if (typeof value.source === 'string') out.push(value.source);\n if (typeof value.field === 'string') out.push(value.field);\n var keys = Object.keys(value);\n for (var k = 0; k < keys.length; k++) {\n if (keys[k] === 'destination' || keys[k] === 'value') continue;\n if (value[keys[k]] && typeof value[keys[k]] === 'object') __brpRequestFields(value[keys[k]], out);\n }\n } else if (typeof value === 'string' && value) {\n out.push(value);\n }\n return out;\n}\n\nfunction __brpParse(value) {\n if (typeof value !== 'string') return value;\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n}\n\n// Search columns are not checked here: the read drops the hidden ones from the\n// search (`__brpVisibleColumns`), and the storefront's own list bindings name them.\nfunction __brpAssertVisibleFields(policy, query) {\n var q = query || {};\n var fields = [];\n __brpRequestFields(__brpParse(q.filters), fields);\n __brpRequestFields(__brpParse(q.sorts), fields);\n if (typeof q.sortBy === 'string') fields.push(q.sortBy);\n for (var i = 0; i < fields.length; i++) {\n if (__brpIsHidden(policy, fields[i])) {\n var err = new Error('Forbidden: ' + __brpColumnName(fields[i]) + ' is not readable');\n err.status = 403;\n throw err;\n }\n }\n}\n\nfunction __brpVisibleColumns(policy, columns) {\n return columns.filter(function(column) { return !__brpIsHidden(policy, column); });\n}\n\n// The rows without a hidden key, at any depth: a transformed row nests related\n// rows (a post's related and adjacent posts) built the same way.\nfunction __brpStripHidden(policy, value) {\n if (Array.isArray(value)) {\n return value.map(function(entry) { return __brpStripHidden(policy, entry); });\n }\n if (!value || typeof value !== 'object') return value;\n var copy = {};\n Object.keys(value).forEach(function(key) {\n if (!__brpIsHidden(policy, key)) copy[key] = __brpStripHidden(policy, value[key]);\n });\n return copy;\n}\n\n// Whether this request is answered exactly as an anonymous visitor's would be,\n// so a response cached for one may serve the other. A read whose answer depends\n// on who asks (`viewDependent`: a narrowed, protected or admin-only table) or\n// that runs a raw statement differs for the store's own server code and its\n// administrators, and must never share a cache entry with a visitor.\nasync function __brpSharesPublicView(req, viewDependent) {\n var raw = !!(req && req.query && typeof req.query.rawQuery === 'string' && req.query.rawQuery.length > 0);\n if (!viewDependent && !raw) return true;\n return !(await __brpReader(req)).trusted;\n}\n"); };
|
|
17
21
|
/**
|
|
18
22
|
* Whether a per-table read route's answer depends on who asks — the rows it
|
|
19
23
|
* narrows, the tables it guards — so its response cache must be split by view.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-row-policy.js","sourceRoot":"","sources":["../../../../src/fetchers/utils/browser-row-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"browser-row-policy.js","sourceRoot":"","sources":["../../../../src/fetchers/utils/browser-row-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAwBxE;;;;GAIG;AACH,MAAM,CAAC,IAAM,oBAAoB,GAC/B,aAAa,CAAC,oBAAoB,CAAA;AAEpC;;;;;;;GAOG;AACH,MAAM,CAAC,IAAM,4BAA4B,GACvC,cAAc,OAAA,mHACO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,oSAK9B,IAAI,CAAC,SAAS,CAAC;IACxC,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,WAAW,CAAC,sBAAsB;CACnD,CAAC,shRA+LH,EAzMe,CAyMf,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAClC,SAAiB,EACjB,eAAsC;IAEtC,IAAM,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;SAClC,IAAI,EAAE;SACN,WAAW,EAAE;SACb,KAAK,CAAC,GAAG,CAAC,CAAA;IACb,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACtD,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC;QAChE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACrC,CAAA;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,IAAM,4BAA4B,GAAG,UAC1C,SAAiB,EACjB,YAA2B;IAE3B,OAAO,uDAAgD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAC9E,YAAY,IAAI,MAAM,yNAMzB,CAAA;AACD,CAAC,CAAA"}
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAMvB,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAMvB,MAAM,4BAA4B,CAAA;AAqdnC,eAAO,MAAM,+BAA+B,EAAE,sBAAsB,CAAC,EAAE,CA8ftE,CAAA;AAiOD,eAAO,MAAM,mCAAmC,EAAE,sBAAsB,CAAC,EAAE,CA0P1E,CAAA;AAED,cAAc,wBAAwB,CAAA;AACtC,cAAc,SAAS,CAAA;AACvB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AAIvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,YAAY,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAGjG,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -34,8 +34,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
38
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
39
|
+
if (ar || !(i in from)) {
|
|
40
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
41
|
+
ar[i] = from[i];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
45
|
+
};
|
|
37
46
|
import { FileType, ChunkType, } from '@teleporthq/teleport-types';
|
|
38
47
|
import { UIDLUtils, StringUtils } from '@teleporthq/teleport-shared';
|
|
48
|
+
import { RouteUtils } from '@teleporthq/teleport-plugin-common';
|
|
39
49
|
import { extractDataSourceIntoNextAPIFolder, extractDataSourceIntoGetStaticProps, sanitizeFileName, hasUnresolvableDynamicParams, } from './utils';
|
|
40
50
|
import { createNextArrayMapperPaginationPlugin } from './pagination-plugin';
|
|
41
51
|
import { resolveRepeaterPerPage } from './repeater-page-size';
|
|
@@ -452,7 +462,7 @@ export var createNextPagesDataSourcePlugin = function () {
|
|
|
452
462
|
// When multiple nodes share the same dataSourceKey (same resource ID), the function is
|
|
453
463
|
// idempotent for getStaticProps (skips duplicate fetches via existingInFetchMeta) but
|
|
454
464
|
// still updates the next uninitialized DataProvider JSX node on each call.
|
|
455
|
-
var result = extractDataSourceIntoGetStaticProps(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath, transformOptions);
|
|
465
|
+
var result = extractDataSourceIntoGetStaticProps(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath, transformOptions, function () { return RouteUtils.pageDataReadArguments(uidl, options.auth); }, uidl.stateDefinitions);
|
|
456
466
|
if (result.success && result.chunk) {
|
|
457
467
|
getStaticPropsChunk = result.chunk;
|
|
458
468
|
// Track the first data source info for wrapping dataSourceData expressions
|
|
@@ -541,7 +551,9 @@ export var createNextPagesDataSourcePlugin = function () {
|
|
|
541
551
|
};
|
|
542
552
|
for (_b = 0, _c = wrapContext.wrappedProviders; _b < _c.length; _b++) {
|
|
543
553
|
wrapped = _c[_b];
|
|
544
|
-
fetchCallExpression = types.callExpression(types.memberExpression(types.identifier(fetcherImportName), types.identifier('fetchData')),
|
|
554
|
+
fetchCallExpression = types.callExpression(types.memberExpression(types.identifier(fetcherImportName), types.identifier('fetchData')), __spreadArray([
|
|
555
|
+
types.objectExpression([])
|
|
556
|
+
], RouteUtils.pageDataReadArguments(uidl, options.auth), true));
|
|
545
557
|
safeFetchExpression = types.callExpression(types.memberExpression(fetchCallExpression, types.identifier('catch')), [
|
|
546
558
|
types.arrowFunctionExpression([types.identifier('error')], types.blockStatement([
|
|
547
559
|
types.expressionStatement(types.callExpression(types.memberExpression(types.identifier('console'), types.identifier('error')), [
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|