From d8f9d97de23e23f650570794224e83369c18c4a3 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Wed, 4 Dec 2019 14:00:03 +0700
Subject: [PATCH] modem queue name

---
 lib/apiserver/routers/smstools-config.js    | 10 ++++++++++
 lib/smstools-config/queues-and-providers.js |  4 ++++
 2 files changed, 14 insertions(+)

diff --git a/lib/apiserver/routers/smstools-config.js b/lib/apiserver/routers/smstools-config.js
index 8490fe2..f007609 100644
--- a/lib/apiserver/routers/smstools-config.js
+++ b/lib/apiserver/routers/smstools-config.js
@@ -157,6 +157,14 @@ async function pageQueuesAndProviders(req, res) {
     res.end(await queuesAndProviders.dump());
 }
 
+function pageModemQueueName(req, res) {
+    const modemName = req.params.modemName || req.query.modemName || req.query.modem_name;
+    res.json({
+        modemName,
+        queueName: queuesAndProviders.getModemQueueName(modemName),
+    });
+}
+
 router.get('/', pageIndex);
 router.get('/generate', pageGenerate);
 router.get('/modems', pageModemList);
@@ -167,3 +175,5 @@ router.post('/modem/set-single-value/:modemName', bodyParser.json({ type: '*/jso
 router.get('/modem/delete/:modemName', pageModemDelete);
 router.get('/install-config', pageInstallConfig);
 router.get('/queues-and-providers', pageQueuesAndProviders);
+router.get('/modem-queue-name', pageModemQueueName);
+router.get('/modem-queue-name/:modemName', pageModemQueueName);
diff --git a/lib/smstools-config/queues-and-providers.js b/lib/smstools-config/queues-and-providers.js
index 6533da1..b4f80d0 100644
--- a/lib/smstools-config/queues-and-providers.js
+++ b/lib/smstools-config/queues-and-providers.js
@@ -89,3 +89,7 @@ exports.dump = async (mkdirIfQueueDirNotExists) => {
 
     return `${configLines.join('\n')}\n\n${providerLines.join('\n')}`;
 };
+
+exports.getModemQueueName = (modemName) => {
+    (smstoolsConfig.queues || []).find((queue) => (queue.modems || []).indexOf(modemName) >= 0);
+};
-- 
1.9.0