From 9b503f9a174c5a1167890b71fea7d46ecaa130fa Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Thu, 5 Dec 2019 12:26:16 +0700
Subject: [PATCH] /smstools/modems include imsi, imei, and cops

---
 lib/apiserver/routers/smstools.js | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/lib/apiserver/routers/smstools.js b/lib/apiserver/routers/smstools.js
index b052857..eabf71b 100644
--- a/lib/apiserver/routers/smstools.js
+++ b/lib/apiserver/routers/smstools.js
@@ -9,6 +9,7 @@ const smstoolsUtil = require('../../smstools-util');
 const smstoolsStatus = require('../../smstools-status');
 const smstoolsStatusParsed = require('../../smstools-status-parsed');
 const smstoolsConfigData = require('../../smstools-config/config-file');
+const modemInfo = require('../../smstools-modem-info');
 
 const router = express.Router();
 module.exports = router;
@@ -29,14 +30,24 @@ async function pageRestart(req, res) {
     res.json(await smstoolsUtil.restart());
 }
 
-async function pageModemList(req, res) {
+async function pageModems(req, res) {
     const modems = [];
     // eslint-disable-next-line no-restricted-syntax
     for (const [key, value] of Object.entries(smstoolsConfigData.modems || {})) {
+        const regularRunResultFile = config.smstools_regular_run_result_file || '/var/spool/sms/regular_run/<MODEMNAME>';
+
+        // eslint-disable-next-line no-await-in-loop
+        const { imsi, imei, cops } = (await modemInfo.get(key, regularRunResultFile)) || {};
+
         modems.push({
             label: `${key}: ${value.device}, INCOMING${value.outgoing ? ' and OUTGOING' : ''}`,
             value: key,
             data: value,
+            status: {
+                imsi,
+                imei,
+                cops,
+            },
         });
     }
 
@@ -83,4 +94,4 @@ router.get('/status/raw', pageStatusRaw);
 router.get('/restart', pageRestart);
 router.get('/log', pageLog);
 router.get('/spool-count', pageSpoolCount);
-router.get('/modems', pageModemList);
+router.get('/modems', pageModems);
-- 
1.9.0