Commit 51ea9b1baca3eef27de20bd4a3a5f874fbdfebba

Authored by Adhidarma Hadiwinoto
1 parent 269c423d29
Exists in master

partner last seen strip plus

Showing 1 changed file with 7 additions and 3 deletions Inline Diff

lib/partner-last-seen.js
1 "use strict"; 1 "use strict";
2 2
3 const REDIS_TTL_SECS = 3600 * 24 * 7; 3 const REDIS_TTL_SECS = 3600 * 24 * 7;
4 4
5 const config = require('komodo-sdk/config'); 5 const config = require('komodo-sdk/config');
6 const logger = require('komodo-sdk/logger'); 6 // const logger = require('komodo-sdk/logger');
7 7
8 const redis = require('redis'); 8 const redis = require('redis');
9 const redisClient = redis.createClient(config.redis || { host: '127.0.0.1' }); 9 const redisClient = redis.createClient(config.redis || { host: '127.0.0.1' });
10 10
11 const _caches = {}; 11 const _caches = {};
12 12
13 13
14 function _composeKeyword(partner) { 14 function _composeKeyword(partner) {
15 return `POCHINKI_PARTNER_LAST_SEEN_${ partner }`; 15 return `POCHINKI_PARTNER_LAST_SEEN_${ partner }`;
16 } 16 }
17 17
18 function get(partnerNumber) { 18 function get(partnerNumber) {
19 return new Promise(function(resolve) { 19 return new Promise(function(resolve) {
20 20
21 partnerNumber = (partnerNumber || '').replace(/^\+/, '');
22
21 if (!partnerNumber) { 23 if (!partnerNumber) {
22 resolve(null); 24 resolve(null);
23 } 25 }
24 else if (_caches[partnerNumber]) { 26 else if (_caches[partnerNumber]) {
25 resolve(_caches[partnerNumber]); 27 resolve(_caches[partnerNumber]);
26 } 28 }
27 else { 29 else {
28 const keyword = _composeKeyword(partnerNumber); 30 const keyword = _composeKeyword(partnerNumber);
29 logger.verbose(`REDIS-DEBUG: GET`, {keyword}); 31 // logger.verbose(`REDIS-DEBUG: GET`, {keyword});
30 32
31 redisClient.get(keyword, function(err, reply) { 33 redisClient.get(keyword, function(err, reply) {
32 if (err) { 34 if (err) {
33 resolve(null); 35 resolve(null);
34 } 36 }
35 else if (reply) { 37 else if (reply) {
36 resolve(Number(reply)); 38 resolve(Number(reply));
37 _caches[partnerNumber] = Number(reply); 39 _caches[partnerNumber] = Number(reply);
38 } 40 }
39 else { 41 else {
40 resolve(null); 42 resolve(null);
41 } 43 }
42 }) 44 })
43 } 45 }
44 }) 46 })
45 } 47 }
46 48
47 function set(partnerNumber, modemName) { 49 function set(partnerNumber, modemName) {
50 partnerNumber = (partnerNumber || '').replace(/^\+/, '');
51
48 if (!partnerNumber || !modemName) { 52 if (!partnerNumber || !modemName) {
49 return; 53 return;
50 } 54 }
51 55
52 _caches[partnerNumber] = modemName; 56 _caches[partnerNumber] = modemName;
53 57
54 const keyword = _composeKeyword(partnerNumber); 58 const keyword = _composeKeyword(partnerNumber);
55 logger.verbose('REDIS-DEBUG: SET', { keyword }) 59 // logger.verbose('REDIS-DEBUG: SET', { keyword })
56 redisClient.set(keyword, modemName, 'EX', REDIS_TTL_SECS); 60 redisClient.set(keyword, modemName, 'EX', REDIS_TTL_SECS);
57 } 61 }
58 62
59 exports.get = get; 63 exports.get = get;
60 exports.set = set; 64 exports.set = set;
61 65