esifawafwu
This commit is contained in:
@@ -286,8 +286,27 @@ export default (router, tpl) => {
|
||||
|
||||
router.get(/^\/admin(\/)?$/, lib.auth, async (req, res) => { // frontpage
|
||||
|
||||
// Dashboard counters (cheap aggregate queries; failures just show 0)
|
||||
const dash = { open_reports: 0, users: 0, anon_users: 0, trash: 0 };
|
||||
try {
|
||||
const [[r], [u], [t]] = await Promise.all([
|
||||
db`SELECT count(*)::int AS n FROM reports WHERE status = 'pending'`,
|
||||
db`SELECT count(*) FILTER (WHERE NOT EXISTS (SELECT 1 FROM anon_identities ai WHERE ai.user_id = "user".id))::int AS users,
|
||||
count(*) FILTER (WHERE EXISTS (SELECT 1 FROM anon_identities ai WHERE ai.user_id = "user".id))::int AS anon
|
||||
FROM "user"`,
|
||||
db`SELECT count(*)::int AS n FROM items WHERE active = false AND is_deleted = true AND is_purged = false`
|
||||
]);
|
||||
dash.trash = t?.n || 0;
|
||||
dash.open_reports = r?.n || 0;
|
||||
dash.users = u?.users || 0;
|
||||
dash.anon_users = u?.anon || 0;
|
||||
} catch (e) {
|
||||
console.error('[ADMIN] dashboard counters failed:', e.message);
|
||||
}
|
||||
|
||||
res.reply({
|
||||
body: tpl.render("admin", {
|
||||
dash,
|
||||
totals: await lib.countf0cks(),
|
||||
session: req.session,
|
||||
manual_approval: getManualApproval(),
|
||||
|
||||
Reference in New Issue
Block a user