Blame view

lib/partner-last-seen.js 1.23 KB
f53fe083f   Adhidarma Hadiwinoto   Sender chooser algo
1
  "use strict";
f43dbc16a   Adhidarma Hadiwinoto   New modem selector
2
  const REDIS_TTL_SECS = 3600 * 24 * 31;
f53fe083f   Adhidarma Hadiwinoto   Sender chooser algo
3
4
5
6
7
  
  const config = require('komodo-sdk/config');
  
  const redis = require('redis');
  const redisClient = redis.createClient(config.redis || { host: '127.0.0.1' });
f53fe083f   Adhidarma Hadiwinoto   Sender chooser algo
8
9
10
11
12
13
  function _composeKeyword(partner) {
      return `POCHINKI_PARTNER_LAST_SEEN_${ partner }`;
  }
  
  function get(partnerNumber) {
      return new Promise(function(resolve) {
51ea9b1ba   Adhidarma Hadiwinoto   partner last seen...
14
          partnerNumber = (partnerNumber || '').replace(/^\+/, '');
f53fe083f   Adhidarma Hadiwinoto   Sender chooser algo
15
16
17
          if (!partnerNumber) {
              resolve(null);
          }
f53fe083f   Adhidarma Hadiwinoto   Sender chooser algo
18
19
20
21
22
23
24
25
26
          else {
              const keyword = _composeKeyword(partnerNumber);
              
              redisClient.get(keyword, function(err, reply) {
                  if (err) {
                      resolve(null);
                  }
                  else if (reply) {
                      resolve(Number(reply));
f53fe083f   Adhidarma Hadiwinoto   Sender chooser algo
27
28
29
30
31
32
33
34
                  }
                  else {
                      resolve(null);
                  }
              })
          }
      })
  }
c6c4d8d27   Adhidarma Hadiwinoto   Refactor
35
  function set(partnerNumber, value) {
51ea9b1ba   Adhidarma Hadiwinoto   partner last seen...
36
      partnerNumber = (partnerNumber || '').replace(/^\+/, '');
c6c4d8d27   Adhidarma Hadiwinoto   Refactor
37
      if (!partnerNumber || !value) {
f53fe083f   Adhidarma Hadiwinoto   Sender chooser algo
38
39
          return;
      }
f53fe083f   Adhidarma Hadiwinoto   Sender chooser algo
40
      const keyword = _composeKeyword(partnerNumber);
c6c4d8d27   Adhidarma Hadiwinoto   Refactor
41
      redisClient.set(keyword, value, 'EX', REDIS_TTL_SECS);
f53fe083f   Adhidarma Hadiwinoto   Sender chooser algo
42
43
44
45
  }
  
  exports.get = get;
  exports.set = set;