mirror of
https://github.com/kaythomas0/noisedash.git
synced 2025-11-13 11:56:20 +00:00
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
"use strict";
|
|
const sqlite3 = require('sqlite3').verbose();
|
|
|
|
class Db {
|
|
constructor(file) {
|
|
this.db = new sqlite3.Database(file);
|
|
this.createTable()
|
|
}
|
|
|
|
createTable() {
|
|
const sql = `
|
|
CREATE TABLE IF NOT EXISTS user (
|
|
id integer PRIMARY KEY,
|
|
name text,
|
|
email text UNIQUE,
|
|
user_pass text,
|
|
is_admin integer)`
|
|
return this.db.run(sql);
|
|
}
|
|
|
|
selectByEmail(email, callback) {
|
|
return this.db.get(
|
|
`SELECT * FROM user WHERE email = ?`,
|
|
[email], function (err, row) {
|
|
callback(err, row)
|
|
})
|
|
}
|
|
|
|
insertAdmin(user, callback) {
|
|
return this.db.run(
|
|
'INSERT INTO user (name,email,user_pass,is_admin) VALUES (?,?,?,?)',
|
|
user, (err) => {
|
|
callback(err)
|
|
})
|
|
}
|
|
|
|
selectAll(callback) {
|
|
return this.db.all(`SELECT * FROM user`, function (err, rows) {
|
|
callback(err, rows)
|
|
})
|
|
}
|
|
|
|
insert(user, callback) {
|
|
return this.db.run(
|
|
'INSERT INTO user (name,email,user_pass) VALUES (?,?,?)',
|
|
user, (err) => {
|
|
callback(err)
|
|
})
|
|
}
|
|
}
|
|
|
|
module.exports = Db |