diff --git a/src/api/routes/auth/logout.ts b/src/api/routes/auth/logout.ts index b4df13a..331fa28 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 @@ 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 3a9095f..8f48d1e 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 @@ 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(); },