postgresdk 0.18.24 → 0.18.25
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/dist/cli.js +6 -6
- package/dist/index.js +6 -6
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -4550,7 +4550,7 @@ export async function loadIncludes(
|
|
|
4550
4550
|
const pkCols = pkOf(target);
|
|
4551
4551
|
const where = buildOrAndPredicate(pkCols, tuples.length, 1);
|
|
4552
4552
|
const params = tuples.flat();
|
|
4553
|
-
const sql = \`SELECT * FROM "\${target}" WHERE \${where}\${softDeleteFilter(target)}\`;
|
|
4553
|
+
const sql = \`SELECT * FROM "\${target}" WHERE (\${where})\${softDeleteFilter(target)}\`;
|
|
4554
4554
|
log.debug("belongsTo SQL", { curr, target, key, sql, paramsCount: params.length });
|
|
4555
4555
|
const { rows: targets } = await pg.query(sql, params);
|
|
4556
4556
|
|
|
@@ -4577,7 +4577,7 @@ export async function loadIncludes(
|
|
|
4577
4577
|
// SELECT target WHERE fk IN tuples
|
|
4578
4578
|
const where = buildOrAndPredicate(fk.from, tuples.length, 1);
|
|
4579
4579
|
const params = tuples.flat();
|
|
4580
|
-
const sql = \`SELECT * FROM "\${target}" WHERE \${where}\${softDeleteFilter(target)}\`;
|
|
4580
|
+
const sql = \`SELECT * FROM "\${target}" WHERE (\${where})\${softDeleteFilter(target)}\`;
|
|
4581
4581
|
log.debug("hasOne SQL", { curr, target, key, sql, paramsCount: params.length });
|
|
4582
4582
|
const { rows: targets } = await pg.query(sql, params);
|
|
4583
4583
|
|
|
@@ -4604,7 +4604,7 @@ export async function loadIncludes(
|
|
|
4604
4604
|
const params = tuples.flat();
|
|
4605
4605
|
|
|
4606
4606
|
// Build SQL with optional ORDER BY, LIMIT, OFFSET
|
|
4607
|
-
let sql = \`SELECT * FROM "\${target}" WHERE \${where}\${softDeleteFilter(target)}\`;
|
|
4607
|
+
let sql = \`SELECT * FROM "\${target}" WHERE (\${where})\${softDeleteFilter(target)}\`;
|
|
4608
4608
|
|
|
4609
4609
|
// If limit/offset are needed, use window functions to limit per parent
|
|
4610
4610
|
if (options.limit !== undefined || options.offset !== undefined) {
|
|
@@ -4620,7 +4620,7 @@ export async function loadIncludes(
|
|
|
4620
4620
|
SELECT * FROM (
|
|
4621
4621
|
SELECT *, ROW_NUMBER() OVER (PARTITION BY \${partitionCols} \${orderByClause}) as __rn
|
|
4622
4622
|
FROM "\${target}"
|
|
4623
|
-
WHERE \${where}\${softDeleteFilter(target)}
|
|
4623
|
+
WHERE (\${where})\${softDeleteFilter(target)}
|
|
4624
4624
|
) __sub
|
|
4625
4625
|
WHERE __rn > \${offset} AND __rn <= \${offset + limit}
|
|
4626
4626
|
\`;
|
|
@@ -4684,7 +4684,7 @@ export async function loadIncludes(
|
|
|
4684
4684
|
\${toCurr.from.map((c: string) => \`j."\${c}"\`).join(' || \\',\\' || ')} as __parent_fk
|
|
4685
4685
|
FROM "\${via}" j
|
|
4686
4686
|
INNER JOIN "\${target}" t ON \${joinConditions}
|
|
4687
|
-
WHERE \${whereVia}\${softDeleteFilter(target, "t")}
|
|
4687
|
+
WHERE (\${whereVia})\${softDeleteFilter(target, "t")}
|
|
4688
4688
|
) __numbered
|
|
4689
4689
|
WHERE __numbered.__rn > \${offset} AND __numbered.__rn <= \${offset + limit}
|
|
4690
4690
|
\`;
|
|
@@ -4728,7 +4728,7 @@ export async function loadIncludes(
|
|
|
4728
4728
|
// 2) Load targets by distinct target fk tuples in junction
|
|
4729
4729
|
const tTuples = distinctTuples(jrows, toTarget.from);
|
|
4730
4730
|
const whereT = buildOrAndPredicate(pkOf(target), tTuples.length, 1);
|
|
4731
|
-
const sqlT = \`SELECT * FROM "\${target}" WHERE \${whereT}\${softDeleteFilter(target)}\`;
|
|
4731
|
+
const sqlT = \`SELECT * FROM "\${target}" WHERE (\${whereT})\${softDeleteFilter(target)}\`;
|
|
4732
4732
|
const paramsT = tTuples.flat();
|
|
4733
4733
|
log.debug("manyToMany target SQL", { curr, target, via, key, sql: sqlT, paramsCount: paramsT.length });
|
|
4734
4734
|
const { rows: targets } = await pg.query(sqlT, paramsT);
|
package/dist/index.js
CHANGED
|
@@ -3589,7 +3589,7 @@ export async function loadIncludes(
|
|
|
3589
3589
|
const pkCols = pkOf(target);
|
|
3590
3590
|
const where = buildOrAndPredicate(pkCols, tuples.length, 1);
|
|
3591
3591
|
const params = tuples.flat();
|
|
3592
|
-
const sql = \`SELECT * FROM "\${target}" WHERE \${where}\${softDeleteFilter(target)}\`;
|
|
3592
|
+
const sql = \`SELECT * FROM "\${target}" WHERE (\${where})\${softDeleteFilter(target)}\`;
|
|
3593
3593
|
log.debug("belongsTo SQL", { curr, target, key, sql, paramsCount: params.length });
|
|
3594
3594
|
const { rows: targets } = await pg.query(sql, params);
|
|
3595
3595
|
|
|
@@ -3616,7 +3616,7 @@ export async function loadIncludes(
|
|
|
3616
3616
|
// SELECT target WHERE fk IN tuples
|
|
3617
3617
|
const where = buildOrAndPredicate(fk.from, tuples.length, 1);
|
|
3618
3618
|
const params = tuples.flat();
|
|
3619
|
-
const sql = \`SELECT * FROM "\${target}" WHERE \${where}\${softDeleteFilter(target)}\`;
|
|
3619
|
+
const sql = \`SELECT * FROM "\${target}" WHERE (\${where})\${softDeleteFilter(target)}\`;
|
|
3620
3620
|
log.debug("hasOne SQL", { curr, target, key, sql, paramsCount: params.length });
|
|
3621
3621
|
const { rows: targets } = await pg.query(sql, params);
|
|
3622
3622
|
|
|
@@ -3643,7 +3643,7 @@ export async function loadIncludes(
|
|
|
3643
3643
|
const params = tuples.flat();
|
|
3644
3644
|
|
|
3645
3645
|
// Build SQL with optional ORDER BY, LIMIT, OFFSET
|
|
3646
|
-
let sql = \`SELECT * FROM "\${target}" WHERE \${where}\${softDeleteFilter(target)}\`;
|
|
3646
|
+
let sql = \`SELECT * FROM "\${target}" WHERE (\${where})\${softDeleteFilter(target)}\`;
|
|
3647
3647
|
|
|
3648
3648
|
// If limit/offset are needed, use window functions to limit per parent
|
|
3649
3649
|
if (options.limit !== undefined || options.offset !== undefined) {
|
|
@@ -3659,7 +3659,7 @@ export async function loadIncludes(
|
|
|
3659
3659
|
SELECT * FROM (
|
|
3660
3660
|
SELECT *, ROW_NUMBER() OVER (PARTITION BY \${partitionCols} \${orderByClause}) as __rn
|
|
3661
3661
|
FROM "\${target}"
|
|
3662
|
-
WHERE \${where}\${softDeleteFilter(target)}
|
|
3662
|
+
WHERE (\${where})\${softDeleteFilter(target)}
|
|
3663
3663
|
) __sub
|
|
3664
3664
|
WHERE __rn > \${offset} AND __rn <= \${offset + limit}
|
|
3665
3665
|
\`;
|
|
@@ -3723,7 +3723,7 @@ export async function loadIncludes(
|
|
|
3723
3723
|
\${toCurr.from.map((c: string) => \`j."\${c}"\`).join(' || \\',\\' || ')} as __parent_fk
|
|
3724
3724
|
FROM "\${via}" j
|
|
3725
3725
|
INNER JOIN "\${target}" t ON \${joinConditions}
|
|
3726
|
-
WHERE \${whereVia}\${softDeleteFilter(target, "t")}
|
|
3726
|
+
WHERE (\${whereVia})\${softDeleteFilter(target, "t")}
|
|
3727
3727
|
) __numbered
|
|
3728
3728
|
WHERE __numbered.__rn > \${offset} AND __numbered.__rn <= \${offset + limit}
|
|
3729
3729
|
\`;
|
|
@@ -3767,7 +3767,7 @@ export async function loadIncludes(
|
|
|
3767
3767
|
// 2) Load targets by distinct target fk tuples in junction
|
|
3768
3768
|
const tTuples = distinctTuples(jrows, toTarget.from);
|
|
3769
3769
|
const whereT = buildOrAndPredicate(pkOf(target), tTuples.length, 1);
|
|
3770
|
-
const sqlT = \`SELECT * FROM "\${target}" WHERE \${whereT}\${softDeleteFilter(target)}\`;
|
|
3770
|
+
const sqlT = \`SELECT * FROM "\${target}" WHERE (\${whereT})\${softDeleteFilter(target)}\`;
|
|
3771
3771
|
const paramsT = tTuples.flat();
|
|
3772
3772
|
log.debug("manyToMany target SQL", { curr, target, via, key, sql: sqlT, paramsCount: paramsT.length });
|
|
3773
3773
|
const { rows: targets } = await pg.query(sqlT, paramsT);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postgresdk",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.25",
|
|
4
4
|
"description": "Generate a typed server/client SDK from a Postgres schema (includes, Zod, Hono).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"scripts": {
|
|
24
24
|
"build": "bun build src/cli.ts src/index.ts --outdir dist --target node --format esm --external=pg --external=zod --external=hono --external=prompts --external=node:* && tsc -p tsconfig.build.json --emitDeclarationOnly",
|
|
25
|
-
"test": "bun test:write-files && bun test:init && bun test:gen && bun test test/test-where-clause.test.ts && bun test test/test-where-or-and.test.ts && bun test test/test-nested-include-options.test.ts && bun test test/test-include-methods-with-options.test.ts && bun test:gen-with-tests && bun test:pull && bun test:enums && bun test:typecheck && bun test:drizzle-e2e && bun test test/test-numeric-mode-integration.test.ts && bun test test/test-jsonb-array-serialization.test.ts && bun test test/test-trigram-search.test.ts && bun test test/test-soft-delete-config.test.ts && bun test test/test-soft-delete-include-loader.test.ts",
|
|
25
|
+
"test": "bun test:write-files && bun test:init && bun test:gen && bun test test/test-where-clause.test.ts && bun test test/test-where-or-and.test.ts && bun test test/test-nested-include-options.test.ts && bun test test/test-include-methods-with-options.test.ts && bun test:gen-with-tests && bun test:pull && bun test:enums && bun test:typecheck && bun test:drizzle-e2e && bun test test/test-numeric-mode-integration.test.ts && bun test test/test-jsonb-array-serialization.test.ts && bun test test/test-trigram-search.test.ts && bun test test/test-soft-delete-config.test.ts && bun test test/test-soft-delete-include-loader.test.ts && bun test test/test-soft-delete-nested-include.test.ts",
|
|
26
26
|
"test:write-files": "bun test/test-write-files-if-changed.ts",
|
|
27
27
|
"test:init": "bun test/test-init.ts",
|
|
28
28
|
"test:gen": "bun test/test-gen.ts",
|