mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-03-09 15:40:18 +00:00
Added database records report to My Events / Reports tab.
This commit is contained in:
parent
630cfdda1e
commit
92e3d2e528
3 changed files with 46 additions and 5 deletions
15
meshuser.js
15
meshuser.js
|
@ -6203,7 +6203,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
|
|||
}
|
||||
|
||||
function serverCommandReport(command) {
|
||||
if (common.validateInt(command.type, 1, 3) == false) return; // Validate type
|
||||
if (common.validateInt(command.type, 1, 4) == false) return; // Validate type
|
||||
if (common.validateInt(command.groupBy, 1, 3) == false) return; // Validate groupBy: 1 = User, 2 = Device, 3 = Day
|
||||
if ((typeof command.start != 'number') || (typeof command.end != 'number') || (command.start >= command.end)) return; // Validate start and end time
|
||||
const manageAllDeviceGroups = ((user.siteadmin == 0xFFFFFFFF) && (parent.parent.config.settings.managealldevicegroups.indexOf(user._id) >= 0));
|
||||
|
@ -6223,6 +6223,10 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
|
|||
userLoginReport(command);
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
databaseRecordsReport(command);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7352,6 +7356,15 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
|
|||
});
|
||||
}
|
||||
|
||||
function databaseRecordsReport(command) {
|
||||
if (user.siteadmin != 0xFFFFFFFF) return; // This report is only available to full administrators
|
||||
parent.parent.db.getDbStats(function (stats) {
|
||||
var data = { groups: { 0: { entries: [] } } };
|
||||
data.columns = [{ id: 'record', title: "Record", format: 'records' }, { id: 'recordcount', title: "Count", align: 'center', sumBy: true }];
|
||||
for (var i in stats) { if ((i != 'total') && (stats[i] > 0)) { data.groups[0].entries.push({ record: i, recordcount: stats[i] }); } }
|
||||
try { ws.send(JSON.stringify({ action: 'report', data: data })); } catch (ex) { }
|
||||
});
|
||||
}
|
||||
|
||||
// Return detailed information about an array of nodeid's
|
||||
function getDeviceDetailedInfo(nodeids, type, func) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue