Files
trunk-server/backend/controllers/systems.js
2023-04-08 12:57:12 -04:00

50 lines
1.6 KiB
JavaScript

var mongoose = require("mongoose");
var User = require("../models/user");
var System = require("../models/system");
exports.get_systems = async function (req, res) {
let fromDate = new Date(Date.now() - 60 * 60 * 24 * 30 * 1000);
const results = await System.find({lastActive: {$gte: fromDate}}).populate('userId', "screenName").catch( err => {
console.error("Error - get_systems: " + err.message);
res.json({
success: false,
message: err
});
return;
});
var systemList = [];
for (var result in results) {
var clientCount = 0;
if (req.systemClients.hasOwnProperty(results[result].shortName)) {
clientCount = req.systemClients[results[result].shortName];
}
var system = {
name: results[result].name,
shortName: results[result].shortName,
systemType: results[result].systemType,
county: results[result].count,
country: results[result].country,
city: results[result].city,
state: results[result].state,
active: results[result].active,
lastActive: results[result].lastActive,
callAvg: results[result].callAvg,
description: results[result].description,
clientCount: clientCount
}
if (results[result].showScreenName && results[result].userId) {
system.screenName = results[result].userId.screenName
} else {
system.screenName = null;
}
systemList.push(system);
}
res.contentType('json');
res.send(JSON.stringify({
success: true,
systems: systemList
}));
}