"use strict";

const REDIS_TTL_SECS = 3600 * 24 * 31;

const config = require('komodo-sdk/config');

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

function _composeKeyword(partner) {
    return `POCHINKI_PARTNER_LAST_SEEN_${ partner }`;
}

function get(partnerNumber) {
    return new Promise(function(resolve) {

        partnerNumber = (partnerNumber || '').replace(/^\+/, '');

        if (!partnerNumber) {
            resolve(null);
        }
        else {
            const keyword = _composeKeyword(partnerNumber);
            
            redisClient.get(keyword, function(err, reply) {
                if (err) {
                    resolve(null);
                }
                else if (reply) {
                    resolve(Number(reply));
                }
                else {
                    resolve(null);
                }
            })
        }
    })
}

function set(partnerNumber, value) {
    partnerNumber = (partnerNumber || '').replace(/^\+/, '');

    if (!partnerNumber || !value) {
        return;
    }

    const keyword = _composeKeyword(partnerNumber);
    redisClient.set(keyword, value, 'EX', REDIS_TTL_SECS);
}

exports.get = get;
exports.set = set;