Ajout gestion Look & Sync firmwares, et routes BST
This commit is contained in:
@@ -1,17 +1,16 @@
|
||||
const MongoClient = require('mongodb').MongoClient;
|
||||
const models = require('../models')
|
||||
|
||||
const mongodb_hostname = process.env.MONGODB_HOST || 'localhost';
|
||||
const mongodb_hostname = process.env.MONGODB_HOST || '0.0.0.0';
|
||||
const mongodb_port = process.env.MONGODB_PORT || 27017;
|
||||
const mongodb_database = process.env.MONGODB_DATABASE || 'lsp';
|
||||
const mongodb_url = 'mongodb://' + mongodb_hostname + ':' + mongodb_port;
|
||||
|
||||
const client = new MongoClient(mongodb_url, { useNewUrlParser: true, useUnifiedTopology: true });
|
||||
const client = new MongoClient(mongodb_url, { useUnifiedTopology: true });
|
||||
|
||||
const bucketMaxSize = 4096;
|
||||
|
||||
var _db;
|
||||
var _devices = MongoClient();
|
||||
var _data;
|
||||
var _ipx_data;
|
||||
var _events;
|
||||
@@ -22,8 +21,10 @@ var days = function(date) {
|
||||
}
|
||||
|
||||
var init = async function () {
|
||||
client.connect(function (err) {
|
||||
await client.connect(function (err) {
|
||||
if (err) {
|
||||
console.log('MongoDB Client error');
|
||||
console.log(err);
|
||||
return { error: "Error connecting to DB: " + err }
|
||||
|
||||
} else {
|
||||
@@ -34,13 +35,14 @@ var init = async function () {
|
||||
_events = _db.collection('events');
|
||||
_alerts = _db.collection('alerts');
|
||||
|
||||
console.log('MongoDB Client connected');
|
||||
////////////////////////////
|
||||
// FLUSH DB BY UNCOMMENTING
|
||||
// _devices.remove(function(err, objects){});
|
||||
// _data.remove(function(err, objects){});
|
||||
// _ipx_data.remove(function(err, objects){});
|
||||
// _events.remove(function(err, objects){});
|
||||
// _alerts.remove(function(err, objects){});
|
||||
// _devices.deleteMany(function(err, objects){});
|
||||
// _data.deleteMany(function(err, objects){});
|
||||
// _ipx_data.deleteMany(function(err, objects){});
|
||||
// _events.deleteMany(function(err, objects){});
|
||||
// _alerts.deleteMany(function(err, objects){});
|
||||
|
||||
return null;
|
||||
}
|
||||
@@ -165,9 +167,104 @@ var addIPXData = async function (relay, device, child, element) {
|
||||
}
|
||||
}
|
||||
|
||||
var addDevice = async function (element) {
|
||||
try {
|
||||
const model = await models.device.validateAsync(element);
|
||||
|
||||
await _devices.updateOne(
|
||||
{
|
||||
msn: model.msn
|
||||
},
|
||||
{
|
||||
$set: model
|
||||
},
|
||||
{
|
||||
upsert: true
|
||||
})
|
||||
.then(err => {
|
||||
return err;
|
||||
})
|
||||
} catch (err) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
var updateDevice = async function (model) {
|
||||
try {
|
||||
await _devices.updateOne(
|
||||
{
|
||||
msn: model.msn
|
||||
},
|
||||
{
|
||||
$set: model
|
||||
},
|
||||
{
|
||||
upsert: true
|
||||
})
|
||||
.then(err => {
|
||||
return err;
|
||||
})
|
||||
} catch (err) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
var getDevice = async function (msn) {
|
||||
try {
|
||||
if (!msn) { throw ("msn_not_provided")}
|
||||
|
||||
return await _devices.findOne(
|
||||
{
|
||||
$or : [{relayMsn: msn}, {msn: msn}]
|
||||
})
|
||||
.then(element => {
|
||||
return element;
|
||||
})
|
||||
} catch (err) {
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
var getDeviceChildren = async function (msn) {
|
||||
try {
|
||||
if (!msn) { throw ("msn_not_provided")}
|
||||
|
||||
return await _devices.findOne(
|
||||
{
|
||||
relayMsn: msn
|
||||
})
|
||||
.then(element => {
|
||||
return element.inventory;
|
||||
})
|
||||
} catch (err) {
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
var getDeviceParents = async function (msn) {
|
||||
try {
|
||||
if (!msn) { throw ("msn_not_provided")}
|
||||
|
||||
return await _devices.find(
|
||||
{
|
||||
inventory: { $in: {msn: msn} }
|
||||
})
|
||||
.then(elements => {
|
||||
return elements;
|
||||
})
|
||||
} catch (err) {
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
exports.init = init
|
||||
|
||||
exports.addData = addData
|
||||
exports.addEvent = addEvent
|
||||
exports.addAlert = addAlert
|
||||
exports.addIPXData = addIPXData
|
||||
exports.addIPXData = addIPXData
|
||||
exports.addDevice = addDevice
|
||||
exports.updateDevice = updateDevice
|
||||
exports.getDevice = getDevice
|
||||
exports.getDeviceChildren = getDeviceChildren
|
||||
exports.getDeviceParents = getDeviceParents
|
||||
|
||||
Reference in New Issue
Block a user