39 lines
821 B
JavaScript
39 lines
821 B
JavaScript
const redis = require("redis")
|
|
const client = redis.createClient()
|
|
|
|
|
|
const addMessage = message => {
|
|
const json = JSON.stringify(message);
|
|
client.rpush("messages", json)
|
|
|
|
return message
|
|
}
|
|
|
|
const history = (skip=0, take=20) => {
|
|
skip = (1 + skip) * -1 // negate to get FIFO
|
|
return new Promise((resolve, reject) => client.lrange("messages", (skip * take), skip, (err, data) => {
|
|
if (err) {
|
|
console.log(err);
|
|
reject(err);
|
|
}
|
|
|
|
data = data.map(data => JSON.parse(data));
|
|
resolve(data);
|
|
}))
|
|
}
|
|
|
|
const clearHistory = () => {
|
|
return new Promise((resolve, reject) => client.del("messages", (err, success) => {
|
|
if (err) {
|
|
console.log(err);
|
|
reject(err);
|
|
}
|
|
resolve(success == 1 ? true : false);
|
|
}))
|
|
}
|
|
|
|
module.exports = {
|
|
addMessage,
|
|
history,
|
|
clearHistory
|
|
}; |