This commit is contained in:
azivner
2017-10-25 22:39:21 -04:00
parent 5253f680f6
commit 1c733fbfab
10 changed files with 198 additions and 64 deletions

View File

@@ -4,11 +4,19 @@ const db = require('sqlite');
const utils = require('./utils');
const log = require('./log');
async function insert(table_name, rec) {
const columns = Object.keys(rec).join(", ");
const questionMarks = Object.keys(rec).map(p => "?").join(", ");
async function insert(table_name, rec, replace = false) {
const keys = Object.keys(rec);
if (keys.length === 0) {
log.error("Can't insert empty object into table " + table_name);
return;
}
const res = await execute("INSERT INTO " + table_name + "(" + columns + ") VALUES (" + questionMarks + ")", Object.values(rec));
const columns = keys.join(", ");
const questionMarks = keys.map(p => "?").join(", ");
const query = "INSERT " + (replace ? "OR REPLACE" : "") + " INTO " + table_name + "(" + columns + ") VALUES (" + questionMarks + ")";
const res = await execute(query, Object.values(rec));
return res.lastID;
}
@@ -21,6 +29,10 @@ async function commit() {
return await db.run("COMMIT");
}
async function rollback() {
return await db.run("ROLLBACK");
}
async function getOption(optName) {
const row = await getSingleResult("SELECT opt_value FROM options WHERE opt_name = ?", [optName]);
@@ -94,6 +106,7 @@ module.exports = {
setOption,
beginTransaction,
commit,
rollback,
addAudit,
deleteRecentAudits,
remove