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