feat(admin): analytics redis cache, shared ops health, ticket queue clarity

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-07-30 19:57:00 +02:00
1 parent 474de0717b
commit 58fae1f90f
38 files changed
+348 -245

No files matched your search

+19 -27
View File
@@ -7,11 +7,11 @@ import {
OnlineUsersWidget,
StatusCard,
} from "@/components/admin/dashboard";
import { fetchOpsHealth } from "@/lib/admin/ops-health";
import { fetchOpsOnlineUsers } from "@/lib/admin/ops-online-users";
import { formatDate } from "@/lib/format-date";
import { canAccess, getAdminContext, PERMS } from "@/lib/permissions";
import { prisma } from "@/lib/prisma";
import { rcon } from "@/lib/services/rcon";
import { siteSettings } from "@/lib/services/site-settings";
import { CommandocentrumControls } from "./commandocentrum-controls";
@@ -46,33 +46,25 @@ export default async function CommandoCentrum() {
const t = await getTranslations("pages.admin.commandocentrum");
const [
totalUsers,
errors,
dbOk,
emulatorOnline,
maintenance,
activity,
onlineRoster,
] = await Promise.all([
prisma.user.count().catch(() => -1),
prisma.emulatorErrors
.findMany({ orderBy: { timestamp: "desc" }, take: 50 })
.catch(() => []),
prisma.websiteSetting
.count()
.then(() => true)
.catch(() => false),
rcon.send("ping", null).catch(() => false),
siteSettings.getBool("maintenance_enabled", false),
prisma.staffActivities
.findMany({ orderBy: { createdAt: "desc" }, take: 12 })
.catch(
() => [] as Awaited<ReturnType<typeof prisma.staffActivities.findMany>>,
),
fetchOpsOnlineUsers(40),
]);
const [totalUsers, errors, health, maintenance, activity, onlineRoster] =
await Promise.all([
prisma.user.count().catch(() => -1),
prisma.emulatorErrors
.findMany({ orderBy: { timestamp: "desc" }, take: 50 })
.catch(() => []),
fetchOpsHealth(),
siteSettings.getBool("maintenance_enabled", false),
prisma.staffActivities
.findMany({ orderBy: { createdAt: "desc" }, take: 12 })
.catch(
() =>
[] as Awaited<ReturnType<typeof prisma.staffActivities.findMany>>,
),
fetchOpsOnlineUsers(40),
]);
const dbOk = health.dbOk;
const emulatorOnline = health.emulatorOk;
const onlineCount = onlineRoster.count;
const onlineUsers = onlineRoster.users;