import sqlite from 'sqlite3' import { currentTime } from './utility' const db = new sqlite.Database('bot.db') db.run( `CREATE TABLE IF NOT EXISTS chats ( chatId INTEGER, UNIQUE(chatId) )`) db.run( `CREATE TABLE IF NOT EXISTS logouts ( displayName INTEGER, lastLogoutTime DATETIME, UNIQUE(displayName) )`) const run = (sql, params) => new Promise((resolve, reject) => { db.run(sql, params, (err) => { if (err) { reject(err) } else { resolve() } }) }) export const saveChat = id => run(`INSERT OR IGNORE INTO chats (chatId) VALUES (?)`, [ id ]) export const getChats = () => new Promise((resolve, reject) => { db.all('SELECT * FROM chats', [], (err, rows) => { if (err) { reject(err) } else { resolve(rows) } }) }) export const saveLogout = displayName => run( `INSERT OR REPLACE INTO logouts (displayName, lastLogoutTime) VALUES (?, ?)`, [ displayName, currentTime() ] ) export const getLastLogoutTime = displayName => new Promise((resolve, reject) => { db.get(`SELECT lastLogoutTime FROM logouts WHERE displayName = ?`, [ displayName ], (err, row) => { if (err) { reject(err) } else { console.log({ row }) resolve(row ? row.lastLogoutTime : null) } }) })