diff options
| author | Jad <[email protected]> | 2020-08-12 10:03:35 +0000 |
|---|---|---|
| committer | Jad <[email protected]> | 2020-08-12 10:03:35 +0000 |
| commit | 3bd1ae58e4e9019cc0bab7c9221da73f02d914c7 (patch) | |
| tree | d824e32c08eec7ede53aec0340d2f2dfe74949db /db/sqlite.js | |
| parent | feat: add message board (diff) | |
| download | counter-3bd1ae58e4e9019cc0bab7c9221da73f02d914c7.tar.xz counter-3bd1ae58e4e9019cc0bab7c9221da73f02d914c7.zip | |
feat: support mongoDB
feat: support dynamic image size
docs: add Readme.md
Diffstat (limited to 'db/sqlite.js')
| -rw-r--r-- | db/sqlite.js | 60 |
1 files changed, 60 insertions, 0 deletions
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 |