mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-06 21:57:48 +01:00
Omada widget : v3 v4 and v5 versions don't use the same fields for the same stats, I've corrected the code to make it more reliable
This commit is contained in:
@@ -80,8 +80,7 @@ export default async function omadaProxyHandler(req, res) {
|
|||||||
cid = JSON.parse(cidresult).result.omadacId;
|
cid = JSON.parse(cidresult).result.omadacId;
|
||||||
cversion = JSON.parse(cidresult).result.controllerVer;
|
cversion = JSON.parse(cidresult).result.controllerVer;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
cversion = "3.2.17";
|
cversion = "3.2.17"
|
||||||
|
|
||||||
}
|
}
|
||||||
if (cversion < "4.0.0") {
|
if (cversion < "4.0.0") {
|
||||||
loginUrl = `${widget.url}/api/user/login?ajax`;
|
loginUrl = `${widget.url}/api/user/login?ajax`;
|
||||||
@@ -121,7 +120,7 @@ export default async function omadaProxyHandler(req, res) {
|
|||||||
} else if (cversion < "5.0.0") {
|
} else if (cversion < "5.0.0") {
|
||||||
sitesUrl = `${widget.url}/api/v2/sites?token=${token}¤tPage=1¤tPageSize=1000`;
|
sitesUrl = `${widget.url}/api/v2/sites?token=${token}¤tPage=1¤tPageSize=1000`;
|
||||||
body = {};
|
body = {};
|
||||||
params = { };
|
params = {"token": token};
|
||||||
headers = {"Csrf-Token": token };
|
headers = {"Csrf-Token": token };
|
||||||
method = "GET";
|
method = "GET";
|
||||||
|
|
||||||
@@ -132,7 +131,6 @@ export default async function omadaProxyHandler(req, res) {
|
|||||||
method = "GET";
|
method = "GET";
|
||||||
params = { };
|
params = { };
|
||||||
}
|
}
|
||||||
|
|
||||||
requestresponse = await httpProxy(sitesUrl, {
|
requestresponse = await httpProxy(sitesUrl, {
|
||||||
method,
|
method,
|
||||||
params,
|
params,
|
||||||
@@ -140,7 +138,6 @@ export default async function omadaProxyHandler(req, res) {
|
|||||||
headers,
|
headers,
|
||||||
});
|
});
|
||||||
const listresult = JSON.parse(requestresponse[2]);
|
const listresult = JSON.parse(requestresponse[2]);
|
||||||
|
|
||||||
if (listresult.errorCode !== 0) {
|
if (listresult.errorCode !== 0) {
|
||||||
logger.debug(`HTTTP ${listresult.errorCode} getting list of sites with message ${listresult.msg}`);
|
logger.debug(`HTTTP ${listresult.errorCode} getting list of sites with message ${listresult.msg}`);
|
||||||
return res.status(500).send(requestresponse[2]);
|
return res.status(500).send(requestresponse[2]);
|
||||||
@@ -204,7 +201,9 @@ export default async function omadaProxyHandler(req, res) {
|
|||||||
} else {
|
} else {
|
||||||
let siteStatsUrl;
|
let siteStatsUrl;
|
||||||
let response;
|
let response;
|
||||||
|
sitetoswitch = listresult.result.data.filter(site => site.name === widget.site);
|
||||||
|
// On 5.0.0, the key we need is id, on 4.x.x, it's key ...
|
||||||
|
siteName = sitetoswitch[0].id ?? sitetoswitch[0].key;
|
||||||
if (cversion < "5.0.0") {
|
if (cversion < "5.0.0") {
|
||||||
siteStatsUrl = `${url}/api/v2/sites/${siteName}/dashboard/overviewDiagram?token=${token}¤tPage=1¤tPageSize=1000`;
|
siteStatsUrl = `${url}/api/v2/sites/${siteName}/dashboard/overviewDiagram?token=${token}¤tPage=1¤tPageSize=1000`;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user