mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2024-12-26 23:25:53 -05:00
Added two more MariaDB tables (Power & SMBIOS)
This commit is contained in:
parent
6d95d98c52
commit
449d66e084
29
db.js
29
db.js
@ -338,7 +338,12 @@ module.exports.CreateDB = function (parent, func) {
|
|||||||
'CREATE INDEX ndxextraex ON meshcentral.main (extraex)',
|
'CREATE INDEX ndxextraex ON meshcentral.main (extraex)',
|
||||||
'CREATE TABLE meshcentral.serverstats (time DATETIME, expire DATETIME, doc JSON, PRIMARY KEY(time), CHECK (json_valid(doc)))',
|
'CREATE TABLE meshcentral.serverstats (time DATETIME, expire DATETIME, doc JSON, PRIMARY KEY(time), CHECK (json_valid(doc)))',
|
||||||
'CREATE INDEX ndxserverstattime ON meshcentral.serverstats (time)',
|
'CREATE INDEX ndxserverstattime ON meshcentral.serverstats (time)',
|
||||||
'CREATE INDEX ndxserverstatexpire ON meshcentral.serverstats (expire)'
|
'CREATE INDEX ndxserverstatexpire ON meshcentral.serverstats (expire)',
|
||||||
|
'CREATE TABLE meshcentral.power (id INT NOT NULL AUTO_INCREMENT, time DATETIME, nodeid CHAR(255), doc JSON, PRIMARY KEY(id), CHECK (json_valid(doc)))',
|
||||||
|
'CREATE INDEX ndxpowernodeidtime ON meshcentral.power (nodeid, time)',
|
||||||
|
'CREATE TABLE meshcentral.smbios (id CHAR(255), time DATETIME, expire DATETIME, doc JSON, PRIMARY KEY(id), CHECK (json_valid(doc)))',
|
||||||
|
'CREATE INDEX ndxsmbiostime ON meshcentral.smbios (time)',
|
||||||
|
'CREATE INDEX ndxsmbiosexpire ON meshcentral.smbios (expire)'
|
||||||
], function (err) { if (err != null) { console.log(err); } setupFunctions(func); });
|
], function (err) { if (err != null) { console.log(err); } setupFunctions(func); });
|
||||||
});
|
});
|
||||||
} else if (parent.args.mongodb) {
|
} else if (parent.args.mongodb) {
|
||||||
@ -536,13 +541,13 @@ module.exports.CreateDB = function (parent, func) {
|
|||||||
obj.eventsfile.createIndex({ username: 1 }, { sparse: 1, name: 'Username1' });
|
obj.eventsfile.createIndex({ username: 1 }, { sparse: 1, name: 'Username1' });
|
||||||
obj.eventsfile.createIndex({ domain: 1, nodeid: 1, time: -1 }, { sparse: 1, name: 'DomainNodeTime1' });
|
obj.eventsfile.createIndex({ domain: 1, nodeid: 1, time: -1 }, { sparse: 1, name: 'DomainNodeTime1' });
|
||||||
obj.eventsfile.createIndex({ ids: 1, time: -1 }, { sparse: 1, name: 'IdsAndTime1' });
|
obj.eventsfile.createIndex({ ids: 1, time: -1 }, { sparse: 1, name: 'IdsAndTime1' });
|
||||||
obj.eventsfile.createIndex({ 'time': 1 }, { expireAfterSeconds: expireEventsSeconds, name: 'ExpireTime1' });
|
obj.eventsfile.createIndex({ time: 1 }, { expireAfterSeconds: expireEventsSeconds, name: 'ExpireTime1' });
|
||||||
});
|
});
|
||||||
} else if (indexesByName['ExpireTime1'].expireAfterSeconds != expireEventsSeconds) {
|
} else if (indexesByName['ExpireTime1'].expireAfterSeconds != expireEventsSeconds) {
|
||||||
// Reset the timeout index
|
// Reset the timeout index
|
||||||
console.log("Resetting events expire index...");
|
console.log("Resetting events expire index...");
|
||||||
obj.eventsfile.dropIndex('ExpireTime1', function (err) {
|
obj.eventsfile.dropIndex('ExpireTime1', function (err) {
|
||||||
obj.eventsfile.createIndex({ 'time': 1 }, { expireAfterSeconds: expireEventsSeconds, name: 'ExpireTime1' });
|
obj.eventsfile.createIndex({ time: 1 }, { expireAfterSeconds: expireEventsSeconds, name: 'ExpireTime1' });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -767,17 +772,17 @@ module.exports.CreateDB = function (parent, func) {
|
|||||||
obj.GetFailedLoginCount = function (username, domainid, lastlogin, func) { console.log('TODO:GetFailedLoginCount'); }
|
obj.GetFailedLoginCount = function (username, domainid, lastlogin, func) { console.log('TODO:GetFailedLoginCount'); }
|
||||||
|
|
||||||
// Database actions on the power collection
|
// Database actions on the power collection
|
||||||
obj.getAllPower = function (func) { console.log('TODO:getAllPower'); };
|
obj.getAllPower = function (func) { mariaDbQuery('SELECT doc FROM meshcentral.power', null, func); };
|
||||||
obj.storePowerEvent = function (event, multiServer, func) { console.log('TODO:storePowerEvent'); };
|
obj.storePowerEvent = function (event, multiServer, func) { if (multiServer != null) { event.server = multiServer.serverid; } mariaDbQuery('INSERT INTO meshcentral.power VALUE (?, ?, ?, ?)', [null, event.time, event.nodeid ? event.nodeid : null, JSON.stringify(event)], func); };
|
||||||
obj.getPowerTimeline = function (nodeid, func) { console.log('TODO:getPowerTimeline'); };
|
obj.getPowerTimeline = function (nodeid, func) { mariaDbQuery('SELECT doc FROM meshcentral.power WHERE ((nodeid = ?) OR (nodeid = "*")) ORDER BY time', [nodeid], func); };
|
||||||
obj.removeAllPowerEvents = function () { console.log('TODO:removeAllPowerEvents'); };
|
obj.removeAllPowerEvents = function () { mariaDbQuery('DELETE FROM meshcentral.power', null, function (err, docs) { }); };
|
||||||
obj.removeAllPowerEventsForNode = function (nodeid) { console.log('TODO:removeAllPowerEventsForNode'); };
|
obj.removeAllPowerEventsForNode = function (nodeid) { mariaDbQuery('DELETE FROM meshcentral.power WHERE nodeid = ?', [nodeid], function (err, docs) { }); };
|
||||||
|
|
||||||
// Database actions on the SMBIOS collection
|
// Database actions on the SMBIOS collection
|
||||||
obj.GetAllSMBIOS = function (func) { console.log('TODO:GetAllSMBIOS'); };
|
obj.GetAllSMBIOS = function (func) { mariaDbQuery('SELECT doc FROM meshcentral.smbios', null, func); };
|
||||||
obj.SetSMBIOS = function (smbios, func) { console.log('TODO:SetSMBIOS'); };
|
obj.SetSMBIOS = function (smbios, func) { var expire = new Date(smbios.time); expire.setMonth(expire.getMonth() + 6); mariaDbQuery('REPLACE INTO meshcentral.smbios VALUE (?, ?, ?, ?)', [smbios._id, smbios.time, expire, JSON.stringify(smbios)], func); };
|
||||||
obj.RemoveSMBIOS = function (id) { console.log('TODO:RemoveSMBIOS'); };
|
obj.RemoveSMBIOS = function (id) { mariaDbQuery('DELETE FROM meshcentral.smbios WHERE id = ?', [id], function (err, docs) { }); };
|
||||||
obj.GetSMBIOS = function (id, func) { console.log('TODO:GetSMBIOS'); };
|
obj.GetSMBIOS = function (id, func) { mariaDbQuery('SELECT doc FROM meshcentral.smbios WHERE id = ?', [id], func); };
|
||||||
|
|
||||||
// Database actions on the Server Stats collection
|
// Database actions on the Server Stats collection
|
||||||
obj.SetServerStats = function (data, func) { mariaDbQuery('REPLACE INTO meshcentral.serverstats VALUE (?, ?, ?)', [data.time, data.expire, JSON.stringify(data)], func); };
|
obj.SetServerStats = function (data, func) { mariaDbQuery('REPLACE INTO meshcentral.serverstats VALUE (?, ?, ?)', [data.time, data.expire, JSON.stringify(data)], func); };
|
||||||
|
Loading…
Reference in New Issue
Block a user