summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-03-13 03:50:39 +0100
committerRory& <root@rory.gay>2026-03-13 03:50:39 +0100
commitf9f1d8776bd2061ae69d3600ac12115e185ac9d5 (patch)
tree3327607a1b3b05610dd8851ce956311842e09c5f
parentGateway: add SB_SESSION_CLOSE and SB_SESSION_INVALIDATE events (diff)
downloadserver-ts-f9f1d8776bd2061ae69d3600ac12115e185ac9d5.tar.xz
API: fire SB_SESSION_REMOVE upon logging out a session
-rw-r--r--src/api/routes/auth/logout.ts9
-rw-r--r--src/api/routes/auth/sessions.ts7
2 files changed, 14 insertions, 2 deletions
diff --git a/src/api/routes/auth/logout.ts b/src/api/routes/auth/logout.ts

index b4df13a0..331fa286 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 3a9095f1..8f48d1ec 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(); },