2017-07-31 11:33:31 +05:30

56 lines
1.1 KiB
JavaScript

const uuid = require('uuid')
const steed = require('steed')()
const redis = require('redis')
const client = redis.createClient(),
const params = {
author: process.argv[2],
quote: process.argv[3]
}
if (params.author && params.quote) {
add(params, (err) => {
if (err) throw err
list((err) => {
if (err) console.error(err)
client.quit()
})
})
return
}
if (params.author) {
list((err) => {
if (err) console.error(err)
client.quit()
})
return
}
client.quit()
function add ({author, quote}, cb) {
const key = `Quotes: ${uuid()}`
client
.multi()
.hmset(key, {author, quote})
.sadd(`Author: ${params.author}`, key)
.exec((err, replies) => {
if (err) return cb(err)
if (replies[0] === "OK") console.log('Added...\n')
cb()
})
}
function list (cb) {
client.smembers(`Author: ${params.author}`, (err, keys) => {
if (err) return cb(err)
steed.each(keys, (key, next) => {
client.hgetall(key, (err, {author, quote}) => {
if (err) return next(err)
console.log(`${author} ${quote} \n`)
next()
})
}, cb)
})
}