From 30befba5c765ecbaf6a6ed2d4099ce1c6e29b791 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Fri, 2 Aug 2019 16:46:24 +0700
Subject: [PATCH] Report sender update modemInfo message counter

---
 lib/modem.js          |  2 ++
 lib/register-modem.js | 17 +++++++++++++++--
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/lib/modem.js b/lib/modem.js
index a98f810..2532504 100644
--- a/lib/modem.js
+++ b/lib/modem.js
@@ -36,6 +36,8 @@ const modemInfo = {
     signalStrength: null,
     signalStrengthTs: null,
     signalStrengthTsReadable: null,
+    messageSentCounter: null,
+    messageReceivedCounter: null,
 };
 
 let lastTs = new Date();
diff --git a/lib/register-modem.js b/lib/register-modem.js
index 7802fec..5c37565 100644
--- a/lib/register-modem.js
+++ b/lib/register-modem.js
@@ -8,6 +8,8 @@ const locks = require('locks');
 const config = require('komodo-sdk/config');
 const logger = require('komodo-sdk/logger');
 
+const counters = require('./counters');
+
 const mutex = locks.createMutex();
 
 function reportUrl() {
@@ -19,8 +21,15 @@ function reportUrl() {
     return `${baseUrl}/modems/set`;
 }
 
-module.exports = (modemInfo) => {
+async function sender(modemInfo) {
     if (mutex.tryLock()) {
+        logger.info('Getting message counters before registering modem');
+
+        // eslint-disable-next-line no-param-reassign
+        modemInfo.messageSentCounter = await counters.get('MESSAGE_SENT', modemInfo);
+        // eslint-disable-next-line no-param-reassign
+        modemInfo.messageReceivedCounter = await counters.get('MESSAGE_RECEIVED', modemInfo);
+
         const requestOptions = {
             url: reportUrl(),
             qs: {
@@ -35,6 +44,8 @@ module.exports = (modemInfo) => {
                 report_port: config.http_command_server.listen_port,
                 report_apikey: config.http_command_server.apikey,
                 report_path_sms: '/sms',
+                counter_sent: modemInfo.messageSentCounter,
+                counter_received: modemInfo.messageReceivedCounter,
             },
         };
 
@@ -49,4 +60,6 @@ module.exports = (modemInfo) => {
             }
         });
     }
-};
+}
+
+module.exports = sender;
-- 
1.9.0