INNER CODE UNIT · JavaScript
insert
currycan/HaTickets · desktop/src/sql/index.js:80
export const insert = async (tableName, params) => {
if (!isAllowedTable(tableName)) {
throw new Error(`Table "${tableName}" is not allowed`);
}
const keys = Object.keys(params);
if (keys.some(k => !isValidColumnName(k))) {
throw new Error("Invalid column name detected");
}
const placeholders = keys.map(() => "?").join(", ");
const values = keys.map(k => {
const v = params[k];
return typeof v === "object" ? JSON.stringify(v) : v;
});
return await db.execute(
`INSERT INTO ${tableName} (${keys.join(", ")}) VALUES (${placeholders})`,