diff --git a/src/lib/server/auth.ts b/src/lib/server/auth.ts index eccdce7..3fb2202 100644 --- a/src/lib/server/auth.ts +++ b/src/lib/server/auth.ts @@ -28,10 +28,15 @@ export const authenticateUser = async (event: RequestEvent) => { return null } - console.log(sessionToken) - const user = await getUserFromSessionToken(sessionToken) - console.log(user) return user } + +export const logoutUser = async (token: string) => { + const now = new Date() + await db + .update(sessionSchema) + .set({ expiresAt: now }) + .where(eq(sessionSchema.token, token)) +} diff --git a/src/routes/api/logout/+server.ts b/src/routes/api/logout/+server.ts index 5990116..14c70bc 100644 --- a/src/routes/api/logout/+server.ts +++ b/src/routes/api/logout/+server.ts @@ -1,3 +1,4 @@ +import { logoutUser } from '$lib/server/auth' import type { RequestHandler } from './$types' export const GET: RequestHandler = async () => { @@ -5,6 +6,13 @@ export const GET: RequestHandler = async () => { } export const POST: RequestHandler = async (event) => { - await new Promise((r) => setTimeout(r, 5000)) - return new Response('hello') + const token = event.cookies.get('token') + if (!token) { + return new Response( + JSON.stringify({ success: false, message: 'Invalid User' }), + ) + } + logoutUser(token) + event.cookies.delete('token') + return new Response(JSON.stringify({ success: true })) }