From f9f1d8776bd2061ae69d3600ac12115e185ac9d5 Mon Sep 17 00:00:00 2001 From: Rory& Date: Fri, 13 Mar 2026 03:50:39 +0100 Subject: [PATCH] API: fire SB_SESSION_REMOVE upon logging out a session --- src/api/routes/auth/logout.ts | 9 ++++++++- src/api/routes/auth/sessions.ts | 7 ++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/api/routes/auth/logout.ts b/src/api/routes/auth/logout.ts index b4df13a0b..331fa2861 100644 --- a/src/api/routes/auth/logout.ts +++ b/src/api/routes/auth/logout.ts @@ -18,7 +18,7 @@ import { route } from "@spacebar/api"; import { Request, Response, Router } from "express"; -import { Session } from "@spacebar/util"; +import { emitEvent, Session } from "@spacebar/util"; const router: Router = Router({ mergeParams: true }); export default router; @@ -42,5 +42,12 @@ router.post( if (req.session) await Session.remove(req.session); res.status(204).send(); + + if (req.session) + await emitEvent({ + session_id: req.session.session_id, + event: "SB_SESSION_REMOVE", + origin: "Self logout", + }); }, ); diff --git a/src/api/routes/auth/sessions.ts b/src/api/routes/auth/sessions.ts index 3a9095f14..8f48d1ecc 100644 --- a/src/api/routes/auth/sessions.ts +++ b/src/api/routes/auth/sessions.ts @@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; import { createHash } from "node:crypto"; -import { Session, Snowflake } from "@spacebar/util"; +import { emitEvent, Session, Snowflake } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { SessionsLogoutSchema } from "../../../schemas/api/users/SessionsSchemas"; import { In } from "typeorm"; @@ -69,6 +69,11 @@ router.post( for (const session of sessions) { await session.remove(); + await emitEvent({ + session_id: session.session_id, + event: "SB_SESSION_REMOVE", + origin: "Sessions logout", + }); } res.status(204).send(); },