counters.js 869 Bytes
'use strict';

const redis = require('redis');
const config = require('./config');

const redisClient = redis.createClient(config.redis || { host: '127.0.0.1' });

function composeKeyword(name, subname) {
    return `CHONGLEE_MODEM_COUNTER_${name}_${subname || ''}`;
}

exports.increment = (name, subname) => {
    redisClient.INCR(composeKeyword(name, subname));
}

exports.reset = (name, subname) => {
    redisClient.DEL(composeKeyword(name, subname));
}

exports.set = (name, subname, value) => {
    redisClient.SET(composeKeyword(name, subname), Number(value));
}

exports.get = (name, subname) => {
    return new Promise((resolve) => {
        redisClient.GET(composeKeyword(name, subname), (err, reply) => {
            if (err) {
                resolve(0);
                return;
            }

            resolve(Number(reply) || 0);
        });
    });
}