From f6253bcc152ac2f251c6c34568c7091e49a6840f Mon Sep 17 00:00:00 2001 From: Markus Brueckner Date: Sun, 29 Dec 2024 14:38:02 +0100 Subject: [PATCH] refresh session on interaction Closes #1 --- src/lib/session/session.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/session/session.ts b/src/lib/session/session.ts index 0856240..8beacbb 100644 --- a/src/lib/session/session.ts +++ b/src/lib/session/session.ts @@ -21,8 +21,12 @@ export async function createSession(token: string, userId: number) { export async function validateSession(token: string) { const session = await db.select().from(sessions).where(eq(sessions.token, token)).limit(1); if (session[0] && session[0].expires > Date.now()) { - db.update(sessions).set({ expires: Date.now() + 600 * 1000 }).where(eq(sessions.token, token)); // refresh the session as long as the user is working in it - return session[0]; + const newExpires = Date.now() + 600 * 1000; + db.update(sessions).set({ expires: newExpires }).where(eq(sessions.token, token)); // refresh the session as long as the user is working in it + return { + ...session[0], + expires: newExpires + }; } await db.delete(sessions).where(lt(sessions.expires, Date.now())); // clean up return null;