if ("csv" == devicesData['uploadType']) { var response = await deviceActivationHelper.validateAndImportMultipleDevices(devicesData, creds); //console.log("Inside controller response======", response) if(Array.isArray(response)) { if(response.length > 0) { let insertedData = []; let error = []; var count = 0;
//response.forEach( data => {
for( let data of response) {
var device = new deviceActivation(data);
return isSavedData = await new Promise(function(resolve, reject) {
device.save({ checkKeys: false },(err, savedDevice)=>{
if (err) {
app.error("Error occurred while importing multiple devices : ", err);
if (err.code == 11000) {
//res.status(400).json(app.errorHandler(false, false, 'Devices already exists.', 400)).end('');
} else {
//res.status(500).json(app.errorHandler(false, false, 'DatabaseError, Unable to save devices.', 500)).end('');
}
reject({"error" : err.code});
} else {
insertedData.push(doc)
if (savedDevice.data.activateNow == true && savedDevice.onBoardStatus == 0) {
var id = savedDevice._id;
var deviceType = savedDevice.deviceType;
try {
deviceActivationHelper.startWorkFlow(deviceType, id, creds, function (err, data) {
})
} catch (error2) {
console.log("catch block =============", error2)
}
}
resolve( {"data": doc});
}
});
})
console.log("for count ====", isSavedData)
} //)
res.status(200).json({"success": true, "message": "Devices imported successfully.", "insertedData": insertedData, "error": error });// .end('');
return res.end('');
} else {
res.status(500).json(app.errorHandler(false, false, 'Unable to import devices', 500)).end('');
}
// return response;
} else {
res.status(500).json(app.errorHandler(false, false, 'Unable to import devices', 500)).end('');
}
}
Data is getting saved but insertedData & error is coming as empty array
================Response ==================== {"success":true,"message":"Devices imported successfully.","insertedData":[],"error":[]}