can anyone help me to find why my json is always []?
I'm receiving info from a device and then i save this in my db. The json I'm trying to insert in db is:
{"status":false,"interfaces":[{"ifname":"lte0","enabled":"1"},{"ifname":"lte1","enabled":"1"},{"ifname":"lte2","enabled":"1"}] ,"sn":"IN-3M-1107827","name":"IN-3M-1107827"},"sn":"IN-3M-1107827","name":"IN-3M-1107827"}
but what is inserted on db is always {"status":false,"interfaces":[],"sn":"IN-3M-1107827","name":"IN-3M-1107827"} for different device_id.
I dont get it... can anyone understand the problem? I suspect this is about promises and my for loop..
LogsController.prototype.pollingServicesInterfaces = function () {
var numDevices = 1;
var services = {};
var allPromises = [];
return Database.Devices.getDevices().then(function (devices) {
return new Promise(function (resolve, reject) {
async.each(devices, function (device, callback) {
var interfaces = [];
for(var i=0;i<3;i++){
var radio="mwan"+i;
Controllers.Gps.getRadioInfo('uci', 'get', {"config": "network", "section":radio}, device).then(function (data) {
var service={
"ifname":data.values.ifname,
"enabled":data.values.enabled
};
interfaces.push(service);
});
}
var wifi="radio0";
Controllers.Gps.getRadioInfo('uci', 'get', {"config": "wireless", "section":wifi}, device).then(function (data) {
var service={
"ifname":data.values.ifname,
"enabled":data.values.enabled
};
interfaces.push(service);
})
var service_data = {
"sn":device.data.sn,
"name":device.data.name,
"status":device.data.status,
"interfaces": interfaces
};
services = {
"id":uuid.v4(),
"data": service_data
};
Database.Devices.getDeviceServicesById(device.id).then(function (result) {
if (result.length > 0) {
allPromises.push(Database.Services.updateRow(services, device.id));
}
allPromises.push(Database.Services.addRow(services, device.id));
});
Promise.all(allPromises).then(function() { // do stuff when success
return callback();
}).catch(function (e) { // error handling
return callback(e);
});
}, function (error) {
if (error) {
return reject(error);
}
return resolve();
});
});
}).catch(function (e) {
});
}
via Catia Matos
No comments:
Post a Comment