You've already forked peertube-plugin-hide-root-user
70 lines
1.7 KiB
JavaScript
70 lines
1.7 KiB
JavaScript
async function register({ registerHook }) {
|
|
registerHook({
|
|
target: "filter:api.server.stats.get.result",
|
|
handler: (data) => {
|
|
if (!data) return {};
|
|
|
|
let {
|
|
totalUsers,
|
|
totalDailyActiveUsers,
|
|
totalWeeklyActiveUsers,
|
|
totalMonthlyActiveUsers,
|
|
totalModerators,
|
|
totalAdmins,
|
|
} = data;
|
|
|
|
// Remove one from total users if there are more than one
|
|
if (totalUsers > 1) {
|
|
totalUsers = totalUsers - 1;
|
|
}
|
|
|
|
// Remove one from the moderator count if there are more than one
|
|
if (totalModerators > 1) {
|
|
totalModerators = totalModerators - 1;
|
|
}
|
|
|
|
// Remove one from the admin count if there are more than one
|
|
if (totalAdmins > 1) {
|
|
totalAdmins = totalAdmins - 1;
|
|
}
|
|
|
|
// Adjust daily active user count if there are more listed than there
|
|
// are total users.
|
|
if (totalDailyActiveUsers > totalUsers) {
|
|
totalDailyActiveUsers = totalUsers;
|
|
}
|
|
|
|
// Adjust weekly active user count if there are more listed than there
|
|
// are total users.
|
|
if (totalWeeklyActiveUsers > totalUsers) {
|
|
totalWeeklyActiveUsers = totalUsers;
|
|
}
|
|
|
|
// Adjust monthly active user count if there are more listed than there
|
|
// are total users.
|
|
if (totalMonthlyActiveUsers > totalUsers) {
|
|
totalMonthlyActiveUsers = totalUsers;
|
|
}
|
|
|
|
return {
|
|
...data,
|
|
totalAdmins,
|
|
totalModerators,
|
|
totalUsers,
|
|
totalDailyActiveUsers,
|
|
totalWeeklyActiveUsers,
|
|
totalMonthlyActiveUsers,
|
|
};
|
|
},
|
|
});
|
|
}
|
|
|
|
async function unregister() {
|
|
return;
|
|
}
|
|
|
|
module.exports = {
|
|
register,
|
|
unregister,
|
|
};
|