Files

38 lines
1021 B
JavaScript
Raw Permalink Normal View History

2025-09-02 21:43:00 +10:00
import internalDeadHost from "./dead-host.js";
import internalProxyHost from "./proxy-host.js";
import internalRedirectionHost from "./redirection-host.js";
import internalStream from "./stream.js";
2020-02-19 15:55:06 +11:00
const internalReport = {
/**
* @param {Access} access
* @return {Promise}
*/
getHostsReport: (access) => {
2025-09-02 21:43:00 +10:00
return access
.can("reports:hosts", 1)
2020-02-19 15:55:06 +11:00
.then((access_data) => {
2025-09-02 21:43:00 +10:00
const userId = access.token.getUserId(1);
2020-02-19 15:55:06 +11:00
2025-09-02 21:43:00 +10:00
const promises = [
internalProxyHost.getCount(userId, access_data.permission_visibility),
internalRedirectionHost.getCount(userId, access_data.permission_visibility),
internalStream.getCount(userId, access_data.permission_visibility),
internalDeadHost.getCount(userId, access_data.permission_visibility),
2020-02-19 15:55:06 +11:00
];
return Promise.all(promises);
})
.then((counts) => {
return {
2025-09-02 21:43:00 +10:00
proxy: counts.shift(),
2020-02-19 15:55:06 +11:00
redirection: counts.shift(),
2025-09-02 21:43:00 +10:00
stream: counts.shift(),
dead: counts.shift(),
2020-02-19 15:55:06 +11:00
};
});
2025-09-02 21:43:00 +10:00
},
2020-02-19 15:55:06 +11:00
};
2025-09-02 21:43:00 +10:00
export default internalReport;