implement sign up page

This commit is contained in:
2025-05-07 23:40:03 +01:00
parent d3638ffc80
commit 77cb38294c
9 changed files with 166 additions and 13 deletions

View File

@@ -142,8 +142,7 @@ async function login(request: Bun.BunRequest<"/api/login">) {
async function logout(request: Bun.BunRequest<"/api/logout">, user: User): Promise<Response> {
const deleteAllAuthTokensQuery = db.query("DELETE FROM auth_tokens WHERE user_id = $userId")
forgetAllSessions(user)
forgetAllSessions(request.cookies, user)
deleteAllAuthTokensQuery.run({ userId: user.id })
return new Response(undefined, { status: 204 })
}

View File

@@ -110,7 +110,7 @@ function verifySession(cookie: Bun.CookieMap): Session | null {
function extendSession(session: Session): Session {
const newExpiryDate = dayjs().add(30, "minutes").valueOf()
const extendSessionQuery = db.query(
"UPDATE sessions SET expires_at_unix_ms = $newExpiryDate WHERE session_id = $session_id",
"UPDATE sessions SET expires_at_unix_ms = $newExpiryDate WHERE session_id = $sessionId",
)
extendSessionQuery.run({
sessionId: session.id,
@@ -122,7 +122,11 @@ function extendSession(session: Session): Session {
}
}
function forgetAllSessions(user: User) {
function forgetAllSessions(cookies: Bun.CookieMap, user: User) {
cookies.set(SESSION_ID_COOKIE_NAME, "", {
expires: 0,
httpOnly: true,
})
const forgetAllSessionsQuery = db.query("DELETE FROM sessions WHERE user_id = $userId")
forgetAllSessionsQuery.run({ userId: user.id })
}