Compare View

switch
from
...
to
 
Commits (3)

Changes

Showing 1 changed file Side-by-side Diff

lib/apiserver/router-config-senders.js
... ... @@ -43,11 +43,24 @@ function pageIndex(req, res) {
43 43 res.json(config.senders_imsi);
44 44 }
45 45  
46   -function delImsi(data, imsi) {
  46 +function delImsi(data, imsi, cleanup) {
47 47 const idx = data.indexOf(imsi);
48 48 if (idx < 0) return;
49 49  
50 50 data.splice(idx, 1);
  51 +
  52 + if (cleanup) {
  53 + Object.keys(config.senders_imsi.prefix_names).forEach((key) => {
  54 + if (!config.senders_imsi.prefix_names[key]) return;
  55 +
  56 + if (!Array.isArray(config.senders_imsi.prefix_names[key])) return;
  57 +
  58 + if (config.senders_imsi.prefix_names[key].length === 0) {
  59 + delete config.senders_imsi.prefix_names[key];
  60 + }
  61 + });
  62 + }
  63 +
51 64 saveConfig();
52 65 }
53 66  
... ... @@ -103,6 +116,8 @@ function pageAddForPrefix(req, res, next) {
103 116  
104 117 return;
105 118 }
  119 +
  120 + req.query.prefix = req.query.prefix.toUpperCase();
106 121  
107 122 if (!config.senders_imsi.prefix_names[req.query.prefix]) {
108 123 config.senders_imsi.prefix_names[req.query.prefix] = [];
... ... @@ -131,7 +146,7 @@ function pageDelForPrefix(req, res) {
131 146 return;
132 147 }
133 148  
134   - delImsi(config.senders_imsi.prefix_names[req.query.prefix], req.query.imsi);
  149 + delImsi(config.senders_imsi.prefix_names[req.query.prefix], req.query.imsi, true);
135 150  
136 151 res.json({
137 152 status: 'OK',