'use strict';
const config = require('./config.json');
const modem = require('./modem');
const common = require('./common');
let count = 1;
exports.sendUssd = async function sendUssd (req, res){
let msg = req.query.msg;
let reqid = req.query.reqid;
let apiKey = req.query.apikey;
//apiKey="746573206D6F64656D2074656C6D6F73656C20666C617368";
if(!reqid||!apiKey){
common.log("invalid reqid or apikey;msg "+msg);
res.json({"status": "invalid parameter", "msg": msg, "apikey" : apikey, "reqid": reqid});
return;
} else if (apiKey !== config.core.api_key){
common.log("invalid apiKey;msg \""+msg+"\"reqid \""+reqid);
res.json({"status": "invalid parameter", "msg": msg, "apikey" : apikey, "reqid": reqid});
return;
}
common.log("msg "+ msg+" - "+reqid);
count++;
common.log("count "+ count);
if (count > 2){
common.log("modem busy!");
count--;
res.json({status: "reject", info: "modem busy,try a few second", msg: msg});
return;
}
//----------------
let newData = await modem.sendingUSSD(msg, count);
common.log("data diterima "+newData);
count--;
res.json({data : newData, code: "200"});
}