Adds new tile on the admin home page with system data. (#301)

* Adds new tile on the admin home page with system data. Also fixes the active users bug in the pie chart

* Fixes missing parentheses

* Updates user stats cache when signing in

* Reads active number of users from session provider

* Removes unused variable

* Small improvements

* Removes acl properties from system data websocket and performs initial push of data

* fix: remove acl fetch

---------

Co-authored-by: DecDuck <declanahofmeyr@gmail.com>
This commit is contained in:
Paco
2026-01-21 23:58:21 +00:00
committed by GitHub
parent 82cdc1e1aa
commit d8db5b5b85
18 changed files with 243 additions and 23 deletions
+16
View File
@@ -1,3 +1,5 @@
import { DateTime } from "luxon";
import prisma from "../db/database";
import type { SessionProvider, SessionWithToken } from "./types";
import cacheHandler from "../cache";
@@ -76,6 +78,20 @@ export default function createDBSessionHandler(): SessionProvider {
},
});
},
async getNumberActiveSessions() {
return (
(
await prisma.session.groupBy({
by: ["userId"],
where: {
expiresAt: {
gt: DateTime.now().toJSDate(),
},
},
})
).length || 0
);
},
async findSessions(options) {
const search: SessionWhereInput[] = [];
if (options.userId) {