level up fix
This commit is contained in:
50
database.js
50
database.js
@ -9,12 +9,20 @@ db.run(
|
||||
)`)
|
||||
|
||||
db.run(
|
||||
`CREATE TABLE IF NOT EXISTS logouts (
|
||||
displayName INTEGER,
|
||||
`CREATE TABLE IF NOT EXISTS playerLogouts (
|
||||
displayName STRING,
|
||||
lastLogoutTime DATETIME,
|
||||
UNIQUE(displayName)
|
||||
)`)
|
||||
|
||||
db.run(
|
||||
`CREATE TABLE IF NOT EXISTS playerKills (
|
||||
displayName STRING,
|
||||
entityName STRING,
|
||||
killCount INTEGER,
|
||||
UNIQUE(displayName, entityName)
|
||||
)`)
|
||||
|
||||
const run = (sql, params) => new Promise((resolve, reject) => {
|
||||
db.run(sql, params, (err) => {
|
||||
if (err) {
|
||||
@ -25,6 +33,16 @@ const run = (sql, params) => new Promise((resolve, reject) => {
|
||||
})
|
||||
})
|
||||
|
||||
const get = (sql, params, column, defaultParam = null) => new Promise((resolve, reject) => {
|
||||
db.get(sql, params, (err, row) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve(row ? row[column] : defaultParam)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
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) => {
|
||||
@ -37,15 +55,23 @@ export const getChats = () => new Promise((resolve, reject) => {
|
||||
})
|
||||
|
||||
export const saveLogout = displayName => run(
|
||||
`INSERT OR REPLACE INTO logouts (displayName, lastLogoutTime) VALUES (?, ?)`,
|
||||
`INSERT OR REPLACE INTO playerLogouts (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 {
|
||||
resolve(row ? row.lastLogoutTime : null)
|
||||
}
|
||||
})
|
||||
})
|
||||
export const getLastLogoutTime = displayName => get(
|
||||
`SELECT lastLogoutTime FROM playerLogouts WHERE displayName = ?`,
|
||||
[ displayName ],
|
||||
'lastLogoutTime',
|
||||
null
|
||||
)
|
||||
|
||||
export const saveKillCount = (displayName, entityName, killCount) => run(
|
||||
`INSERT OR REPLACE INTO playerKills (displayName, entityName, killCount) VALUES (?, ?, ?)`,
|
||||
[ displayName, entityName, killCount ]
|
||||
)
|
||||
export const getKillCount = (displayName, entityName) => get(
|
||||
`SELECT killCount FROM playerKills WHERE displayName = ? AND entityName = ?`,
|
||||
[ displayName, entityName ],
|
||||
'killCount',
|
||||
0
|
||||
)
|
||||
|
Reference in New Issue
Block a user