From 5bd06bc58eb6d750b95b0ed629aa2eb7528c878d Mon Sep 17 00:00:00 2001 From: ngc2207 Date: Fri, 31 Jan 2025 20:26:49 +0800 Subject: [PATCH] feat(auth): add current user endpoint and enhance logout with session management --- src/features/auth/server/route.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/features/auth/server/route.ts b/src/features/auth/server/route.ts index a51c70e..33b914a 100644 --- a/src/features/auth/server/route.ts +++ b/src/features/auth/server/route.ts @@ -5,8 +5,14 @@ import { zValidator } from "@hono/zod-validator"; import { createAdminClient } from "@/lib/appwrite"; import { deleteCookie, setCookie } from "hono/cookie"; import { loginSchema, registerSchema } from "../schema"; +import { sessionMiddleware } from "@/lib/session-middleware"; const app = new Hono() + .get("/current", sessionMiddleware, (c) => { + const user = c.get("user"); + + return c.json({ data: user }); + }) .post("/login", zValidator("json", loginSchema), async (c) => { const { email, password } = c.req.valid("json"); @@ -41,8 +47,11 @@ const app = new Hono() return c.json({ success: true }); }) - .post("/logout", (c) => { + .post("/logout", sessionMiddleware, async (c) => { + const account = c.get("account"); + deleteCookie(c, AUTH_COOKIE); + await account.deleteSession("current"); return c.json({ success: true }); });