feature: made use of new version of library and keeping original sort

This commit is contained in:
Markus Reisenhofer 2024-07-17 22:26:09 +02:00
parent 7a16dfc863
commit 787c4e90f2
No known key found for this signature in database
GPG key ID: F9BF452D473D63AC
2 changed files with 24 additions and 18 deletions

View file

@ -19,7 +19,7 @@ const { UptimeKumaServer } = require("../uptime-kuma-server");
const { CacheableDnsHttpAgent } = require("../cacheable-dns-http-agent"); const { CacheableDnsHttpAgent } = require("../cacheable-dns-http-agent");
const { DockerHost } = require("../docker"); const { DockerHost } = require("../docker");
const { UptimeCacheList } = require("../uptime-cache-list"); const { UptimeCacheList } = require("../uptime-cache-list");
const Gamedig = require("gamedig"); const { GameDig } = require("gamedig");
const jsonata = require("jsonata"); const jsonata = require("jsonata");
const jwt = require("jsonwebtoken"); const jwt = require("jsonwebtoken");
const crypto = require("crypto"); const crypto = require("crypto");
@ -722,12 +722,13 @@ class Monitor extends BeanModel {
} }
} else if (this.type === "gamedig") { } else if (this.type === "gamedig") {
try { try {
const state = await Gamedig.query({ const state = await GameDig.query({
type: this.game, type: this.game,
host: this.hostname, host: this.hostname,
port: this.port, port: this.port,
givenPortOnly: this.getGameDigGivenPortOnly(), givenPortOnly: this.getGameDigGivenPortOnly(),
}); });
console.log(state);
bean.msg = state.name; bean.msg = state.name;
bean.status = UP; bean.status = UP;

View file

@ -2,19 +2,25 @@ const { log } = require("../../src/util");
const { Settings } = require("../settings"); const { Settings } = require("../settings");
const { sendInfo } = require("../client"); const { sendInfo } = require("../client");
const { checkLogin } = require("../util-server"); const { checkLogin } = require("../util-server");
const GameResolver = require("gamedig/lib/GameResolver"); const { games } = require("gamedig");
const { testChrome } = require("../monitor-types/real-browser-monitor-type"); const { testChrome } = require("../monitor-types/real-browser-monitor-type");
let gameResolver = new GameResolver();
let gameList = null;
/** /**
* Get a game list via GameDig * Get a game list via GameDig
* @returns {Object[]} list of games supported by GameDig * @returns {Object[]} list of games supported by GameDig
*/ */
function getGameList() { function getGameList() {
if (gameList == null) { let gamelist = [];
gameList = gameResolver._readGames().games.sort((a, b) => { gamelist = Object.keys(games).map(key => {
const item = games[key];
return {
keys: [key ],
pretty: item.name,
options: item.options,
extra: item.extra || {}
};
});
gamelist.sort((a, b) => {
if ( a.pretty < b.pretty ) { if ( a.pretty < b.pretty ) {
return -1; return -1;
} }
@ -23,8 +29,7 @@ function getGameList() {
} }
return 0; return 0;
}); });
} return gamelist;
return gameList;
} }
module.exports.generalSocketHandler = (socket, server) => { module.exports.generalSocketHandler = (socket, server) => {