implement sign up page
This commit is contained in:
@@ -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 })
|
||||
}
|
||||
|
@@ -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 })
|
||||
}
|
||||
|
Reference in New Issue
Block a user