Commit 51ea9b1baca3eef27de20bd4a3a5f874fbdfebba
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 |