From 3bd1ae58e4e9019cc0bab7c9221da73f02d914c7 Mon Sep 17 00:00:00 2001 From: Jad Date: Wed, 12 Aug 2020 10:03:35 +0000 Subject: feat: support mongoDB feat: support dynamic image size docs: add Readme.md --- db/sqlite.js | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 db/sqlite.js (limited to 'db/sqlite.js') diff --git a/db/sqlite.js b/db/sqlite.js new file mode 100644 index 0000000..0912101 --- /dev/null +++ b/db/sqlite.js @@ -0,0 +1,60 @@ +'use strict' + +const path = require('path') +const sqlite3 = require('sqlite3') + +const db = new sqlite3.Database(path.resolve(__dirname, '../count.db')) + +db.run(`CREATE TABLE IF NOT EXISTS tb_count ( + id INTEGER PRIMARY KEY AUTOINCREMENT + NOT NULL + UNIQUE, + name VARCHAR (32) NOT NULL + UNIQUE, + num BIGINT NOT NULL + DEFAULT (0) +);`) + +function getNum(name) { + return new Promise((resolve, reject) => { + db.get('SELECT `name`, `num` from tb_count WHERE `name` = ?', name, (err, row) => { + if (err) reject(err) + + resolve(row || { name, num: 0 }) + }) + }) +} + +function getAll(name) { + return new Promise((resolve, reject) => { + db.get('SELECT * from tb_count', (err, row) => { + if (err) reject(err) + + resolve(row) + }) + }) +} + +function setNum(name, num) { + return new Promise((resolve, reject) => { + db.run(`INSERT INTO tb_count(\`name\`, \`num\`) + VALUES($name, $num) + ON CONFLICT(name) DO + UPDATE SET \`num\` = $num;` + , { + $name: name, + $num: num + } + , (err, row) => { + if (err) reject(err) + + resolve(row) + }) + }) +} + +module.exports = { + getNum, + getAll, + setNum +} \ No newline at end of file -- cgit v1.2.3