'use strict'; const redis = require('redis'); const CircularBuffer = require("circular-buffer"); const config = require('komodo-sdk/config'); const logger = require('komodo-sdk/logger'); const redisClient = redis.createClient(config.redis || { host: '127.0.0.1' }); const history = new CircularBuffer(1000); const REDIS_KEYWORD = `SHAKIR_SMS_HISTORY_${config.name||'SMS'}`; function fetchFromRedis() { redisClient.LRANGE(REDIS_KEYWORD, 0, -1, (err, reply) => { reply.forEach((el) => { try { history.push(JSON.parse(el)); } catch (e) { logger.warn(`Error parsing JSON on redis history. ${e.toString()}`); } }); }) } fetchFromRedis(); function push(item) { redisClient.LPUSH(REDIS_KEYWORD, JSON.stringify(item)); history.push(item); } function dump() { const result = history.toarray(); // console.log(JSON.stringify(result, null, 2)); return result; } exports.push = push; exports.dump = dump;