zero-ui/backend/utils/ping.js
Syrone Wong db8f4979e6 fix: ping peer response handling
causes treating all members online

fix async/await usage
2023-07-31 15:09:00 +01:00

33 lines
882 B
JavaScript

const _ = require("lodash");
const api = require("./controller-api");
const db = require("./db");
async function pingAll(network) {
await Promise.all(
network.members.map(async (member) => {
console.debug("Processing member " + member.id);
api
.get("peer/" + member.id)
.then(function (controllerResp) {
if (!_.isEmpty(controllerResp.data)) {
// write lastOnline field in db
db.get("networks")
.filter({ id: network.id })
.map("members")
.first()
.filter({ id: member.id })
.first()
.set("lastOnline", new Date().getTime())
.write();
}
})
.catch(function (err) {
console.debug("Couldn't fetch", member.id);
return;
});
})
);
}
module.exports = pingAll;