Update SQL handlers debugging

This commit is contained in:
2026-04-05 07:19:26 +01:00
parent 685d47d91f
commit b3bd5866e6
9 changed files with 72 additions and 32 deletions
+11 -5
View File
@@ -2,6 +2,7 @@ import DbClient from ".";
import _ from "lodash"; import _ from "lodash";
import sqlGenerator from "../../utils/sql-generator"; import sqlGenerator from "../../utils/sql-generator";
export default async function DbDelete({ table, query, targetId, }) { export default async function DbDelete({ table, query, targetId, }) {
let sqlObj = null;
try { try {
let finalQuery = query || {}; let finalQuery = query || {};
if (targetId) { if (targetId) {
@@ -13,14 +14,14 @@ export default async function DbDelete({ table, query, targetId, }) {
}, },
}); });
} }
const sqlQueryObj = sqlGenerator({ sqlObj = sqlGenerator({
tableName: table, tableName: table,
genObject: finalQuery, genObject: finalQuery,
}); });
const whereClause = sqlQueryObj.string.match(/WHERE .*/)?.[0]; const whereClause = sqlObj.string.match(/WHERE .*/)?.[0];
if (whereClause) { if (whereClause) {
let sql = `DELETE FROM ${table} ${whereClause}`; let sql = `DELETE FROM ${table} ${whereClause}`;
const res = DbClient.run(sql, sqlQueryObj.values); const res = DbClient.run(sql, sqlObj.values);
return { return {
success: Boolean(res.changes), success: Boolean(res.changes),
postInsertReturn: { postInsertReturn: {
@@ -28,8 +29,7 @@ export default async function DbDelete({ table, query, targetId, }) {
insertId: Number(res.lastInsertRowid), insertId: Number(res.lastInsertRowid),
}, },
debug: { debug: {
sql, sqlObj,
values: sqlQueryObj.values,
}, },
}; };
} }
@@ -37,6 +37,9 @@ export default async function DbDelete({ table, query, targetId, }) {
return { return {
success: false, success: false,
msg: `No WHERE clause`, msg: `No WHERE clause`,
debug: {
sqlObj,
},
}; };
} }
} }
@@ -44,6 +47,9 @@ export default async function DbDelete({ table, query, targetId, }) {
return { return {
success: false, success: false,
error: error.message, error: error.message,
debug: {
sqlObj,
},
}; };
} }
} }
+9 -4
View File
@@ -1,16 +1,18 @@
import DbClient from "."; import DbClient from ".";
import sqlInsertGenerator from "../../utils/sql-insert-generator"; import sqlInsertGenerator from "../../utils/sql-insert-generator";
export default async function DbInsert({ table, data }) { export default async function DbInsert({ table, data }) {
let sqlObj = null;
try { try {
const finalData = data.map((d) => ({ const finalData = data.map((d) => ({
...d, ...d,
created_at: Date.now(), created_at: Date.now(),
updated_at: Date.now(), updated_at: Date.now(),
})); }));
const sqlObj = sqlInsertGenerator({ sqlObj =
tableName: table, sqlInsertGenerator({
data: finalData, tableName: table,
}); data: finalData,
}) || null;
const res = DbClient.run(sqlObj?.query || "", sqlObj?.values || []); const res = DbClient.run(sqlObj?.query || "", sqlObj?.values || []);
return { return {
success: Boolean(Number(res.lastInsertRowid)), success: Boolean(Number(res.lastInsertRowid)),
@@ -27,6 +29,9 @@ export default async function DbInsert({ table, data }) {
return { return {
success: false, success: false,
error: error.message, error: error.message,
debug: {
sqlObj,
},
}; };
} }
} }
+5 -1
View File
@@ -3,6 +3,7 @@ import DbClient from ".";
import _ from "lodash"; import _ from "lodash";
import sqlGenerator from "../../utils/sql-generator"; import sqlGenerator from "../../utils/sql-generator";
export default async function DbSelect({ table, query, count, targetId, }) { export default async function DbSelect({ table, query, count, targetId, }) {
let sqlObj = null;
try { try {
let finalQuery = query || {}; let finalQuery = query || {};
if (targetId) { if (targetId) {
@@ -14,7 +15,7 @@ export default async function DbSelect({ table, query, count, targetId, }) {
}, },
}); });
} }
const sqlObj = sqlGenerator({ sqlObj = sqlGenerator({
tableName: table, tableName: table,
genObject: finalQuery, genObject: finalQuery,
count, count,
@@ -43,6 +44,9 @@ export default async function DbSelect({ table, query, count, targetId, }) {
return { return {
success: false, success: false,
error: error.message, error: error.message,
debug: {
sqlObj,
},
}; };
} }
} }
+8 -5
View File
@@ -2,6 +2,7 @@ import DbClient from ".";
import _ from "lodash"; import _ from "lodash";
import sqlGenerator from "../../utils/sql-generator"; import sqlGenerator from "../../utils/sql-generator";
export default async function DbUpdate({ table, data, query, targetId, }) { export default async function DbUpdate({ table, data, query, targetId, }) {
let sqlObj = null;
try { try {
let finalQuery = query || {}; let finalQuery = query || {};
if (targetId) { if (targetId) {
@@ -13,12 +14,12 @@ export default async function DbUpdate({ table, data, query, targetId, }) {
}, },
}); });
} }
const sqlQueryObj = sqlGenerator({ sqlObj = sqlGenerator({
tableName: table, tableName: table,
genObject: finalQuery, genObject: finalQuery,
}); });
let values = []; let values = [];
const whereClause = sqlQueryObj.string.match(/WHERE .*/)?.[0]; const whereClause = sqlObj.string.match(/WHERE .*/)?.[0];
if (whereClause) { if (whereClause) {
let sql = `UPDATE ${table} SET`; let sql = `UPDATE ${table} SET`;
const finalData = { const finalData = {
@@ -38,7 +39,7 @@ export default async function DbUpdate({ table, data, query, targetId, }) {
} }
} }
sql += ` ${whereClause}`; sql += ` ${whereClause}`;
values = [...values, ...sqlQueryObj.values]; values = [...values, ...sqlObj.values];
const res = DbClient.run(sql, values); const res = DbClient.run(sql, values);
return { return {
success: Boolean(res.changes), success: Boolean(res.changes),
@@ -47,8 +48,7 @@ export default async function DbUpdate({ table, data, query, targetId, }) {
insertId: Number(res.lastInsertRowid), insertId: Number(res.lastInsertRowid),
}, },
debug: { debug: {
sql, sqlObj,
values,
}, },
}; };
} }
@@ -63,6 +63,9 @@ export default async function DbUpdate({ table, data, query, targetId, }) {
return { return {
success: false, success: false,
error: error.message, error: error.message,
debug: {
sqlObj,
},
}; };
} }
} }
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@moduletrace/bun-sqlite", "name": "@moduletrace/bun-sqlite",
"version": "1.0.20", "version": "1.0.21",
"description": "SQLite manager for Bun", "description": "SQLite manager for Bun",
"author": "Benjamin Toby", "author": "Benjamin Toby",
"main": "dist/index.js", "main": "dist/index.js",
+12 -5
View File
@@ -20,6 +20,8 @@ export default async function DbDelete<
query, query,
targetId, targetId,
}: Params<Schema, Table>): Promise<APIResponseObject> { }: Params<Schema, Table>): Promise<APIResponseObject> {
let sqlObj: ReturnType<typeof sqlGenerator> | null = null;
try { try {
let finalQuery = query || {}; let finalQuery = query || {};
@@ -36,17 +38,17 @@ export default async function DbDelete<
); );
} }
const sqlQueryObj = sqlGenerator({ sqlObj = sqlGenerator({
tableName: table, tableName: table,
genObject: finalQuery, genObject: finalQuery,
}); });
const whereClause = sqlQueryObj.string.match(/WHERE .*/)?.[0]; const whereClause = sqlObj.string.match(/WHERE .*/)?.[0];
if (whereClause) { if (whereClause) {
let sql = `DELETE FROM ${table} ${whereClause}`; let sql = `DELETE FROM ${table} ${whereClause}`;
const res = DbClient.run(sql, sqlQueryObj.values); const res = DbClient.run(sql, sqlObj.values);
return { return {
success: Boolean(res.changes), success: Boolean(res.changes),
@@ -55,20 +57,25 @@ export default async function DbDelete<
insertId: Number(res.lastInsertRowid), insertId: Number(res.lastInsertRowid),
}, },
debug: { debug: {
sql, sqlObj,
values: sqlQueryObj.values,
}, },
}; };
} else { } else {
return { return {
success: false, success: false,
msg: `No WHERE clause`, msg: `No WHERE clause`,
debug: {
sqlObj,
},
}; };
} }
} catch (error: any) { } catch (error: any) {
return { return {
success: false, success: false,
error: error.message, error: error.message,
debug: {
sqlObj,
},
}; };
} }
} }
+11 -5
View File
@@ -1,5 +1,5 @@
import DbClient from "."; import DbClient from ".";
import type { APIResponseObject } from "../../types"; import type { APIResponseObject, SQLInsertGenReturn } from "../../types";
import sqlInsertGenerator from "../../utils/sql-insert-generator"; import sqlInsertGenerator from "../../utils/sql-insert-generator";
type Params< type Params<
@@ -14,6 +14,8 @@ export default async function DbInsert<
Schema extends { [k: string]: any } = { [k: string]: any }, Schema extends { [k: string]: any } = { [k: string]: any },
Table extends string = string, Table extends string = string,
>({ table, data }: Params<Schema, Table>): Promise<APIResponseObject> { >({ table, data }: Params<Schema, Table>): Promise<APIResponseObject> {
let sqlObj: SQLInsertGenReturn | null = null;
try { try {
const finalData: { [k: string]: any }[] = data.map((d) => ({ const finalData: { [k: string]: any }[] = data.map((d) => ({
...d, ...d,
@@ -21,10 +23,11 @@ export default async function DbInsert<
updated_at: Date.now(), updated_at: Date.now(),
})); }));
const sqlObj = sqlInsertGenerator({ sqlObj =
tableName: table, sqlInsertGenerator({
data: finalData as any[], tableName: table,
}); data: finalData as any[],
}) || null;
const res = DbClient.run(sqlObj?.query || "", sqlObj?.values || []); const res = DbClient.run(sqlObj?.query || "", sqlObj?.values || []);
@@ -42,6 +45,9 @@ export default async function DbInsert<
return { return {
success: false, success: false,
error: error.message, error: error.message,
debug: {
sqlObj,
},
}; };
} }
} }
+6 -1
View File
@@ -23,6 +23,8 @@ export default async function DbSelect<
count, count,
targetId, targetId,
}: Params<Schema, Table>): Promise<APIResponseObject<Schema>> { }: Params<Schema, Table>): Promise<APIResponseObject<Schema>> {
let sqlObj: ReturnType<typeof sqlGenerator> | null = null;
try { try {
let finalQuery = query || {}; let finalQuery = query || {};
@@ -39,7 +41,7 @@ export default async function DbSelect<
); );
} }
const sqlObj = sqlGenerator({ sqlObj = sqlGenerator({
tableName: table, tableName: table,
genObject: finalQuery, genObject: finalQuery,
count, count,
@@ -73,6 +75,9 @@ export default async function DbSelect<
return { return {
success: false, success: false,
error: error.message, error: error.message,
debug: {
sqlObj,
},
}; };
} }
} }
+9 -5
View File
@@ -22,6 +22,8 @@ export default async function DbUpdate<
query, query,
targetId, targetId,
}: Params<Schema, Table>): Promise<APIResponseObject> { }: Params<Schema, Table>): Promise<APIResponseObject> {
let sqlObj: ReturnType<typeof sqlGenerator> | null = null;
try { try {
let finalQuery = query || {}; let finalQuery = query || {};
@@ -38,14 +40,14 @@ export default async function DbUpdate<
); );
} }
const sqlQueryObj = sqlGenerator({ sqlObj = sqlGenerator({
tableName: table, tableName: table,
genObject: finalQuery, genObject: finalQuery,
}); });
let values: (string | number)[] = []; let values: (string | number)[] = [];
const whereClause = sqlQueryObj.string.match(/WHERE .*/)?.[0]; const whereClause = sqlObj.string.match(/WHERE .*/)?.[0];
if (whereClause) { if (whereClause) {
let sql = `UPDATE ${table} SET`; let sql = `UPDATE ${table} SET`;
@@ -74,7 +76,7 @@ export default async function DbUpdate<
} }
sql += ` ${whereClause}`; sql += ` ${whereClause}`;
values = [...values, ...sqlQueryObj.values]; values = [...values, ...sqlObj.values];
const res = DbClient.run(sql, values); const res = DbClient.run(sql, values);
@@ -85,8 +87,7 @@ export default async function DbUpdate<
insertId: Number(res.lastInsertRowid), insertId: Number(res.lastInsertRowid),
}, },
debug: { debug: {
sql, sqlObj,
values,
}, },
}; };
} else { } else {
@@ -99,6 +100,9 @@ export default async function DbUpdate<
return { return {
success: false, success: false,
error: error.message, error: error.message,
debug: {
sqlObj,
},
}; };
} }
} }