summary refs log tree commit diff
path: root/src/api/routes/policies/instance/stats.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/policies/instance/stats.ts')
-rw-r--r--src/api/routes/policies/instance/stats.ts21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/api/routes/policies/instance/stats.ts b/src/api/routes/policies/instance/stats.ts
new file mode 100644
index 00000000..fb8c386a
--- /dev/null
+++ b/src/api/routes/policies/instance/stats.ts
@@ -0,0 +1,21 @@
+import { Router, Request, Response } from "express";
+import { route } from "@fosscord/api";
+import { Attachment, Config, Guild, Message, RateLimit, Session, User } from "@fosscord/util";
+const router = Router();
+
+router.get("/", route({}), async (req: Request, res: Response) => {
+	res.json({
+		all_time: {
+			users: await User.count(),
+			guilds: await Guild.count(),
+			messages: await Message.count(),
+			attachments: await Attachment.count(),
+		},
+		now: {
+			sessions: await Session.count(),
+			rate_limits: await RateLimit.count(),
+		}
+	});
+});
+
+export default router;