From 7e216f7110b56fbfe9bc1ff185b14e561d49826e Mon Sep 17 00:00:00 2001 From: domchan <31119455+domechn@users.noreply.github.com> Date: Sat, 9 Dec 2023 23:58:51 +0300 Subject: [PATCH] fix delete function (#212) --- src/middlelayers/database.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/middlelayers/database.ts b/src/middlelayers/database.ts index b458dd9..d8a119e 100644 --- a/src/middlelayers/database.ts +++ b/src/middlelayers/database.ts @@ -61,15 +61,17 @@ export async function selectFromDatabaseWithSql(sql: string, v export async function deleteFromDatabase(table: string, where: Partial, allowFullDelete = false) { const db = await getDatabase() - const whereKeys = _(where).filter(v => !_(v).isUndefined()).keys().value() + const filteredWhere = _(where).omitBy(v => _(v).isUndefined()).value() + const whereKeys = _(filteredWhere).keys().value() if (!allowFullDelete && whereKeys.length === 0) { throw new Error("Delete without where is not allowed") } const whereStr = _(whereKeys).map(k => `${k}=?`).join(' AND ') - const values = _(whereKeys).map(k => _(where).get(k)).value() + const values = _(filteredWhere).map(v => v).value() const sql = `DELETE FROM ${table} WHERE ${whereStr}` + return db.execute(sql, values) }