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();
},
|