From 855bdb0144fec74a0a9fb71ba83ad9084fa38177 Mon Sep 17 00:00:00 2001 From: Aelita4 Date: Sat, 10 Feb 2024 18:25:19 +0100 Subject: [PATCH] Fix user last login not updating in database --- src/lib/db/users.ts | 5 +++++ src/pages/login.astro | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/db/users.ts b/src/lib/db/users.ts index 25067e6..1a11bd7 100644 --- a/src/lib/db/users.ts +++ b/src/lib/db/users.ts @@ -39,6 +39,11 @@ export const getUserByAccessToken = async(accessToken: string | AccessToken): Pr } else return getUserById(accessToken.user as ObjectId) } +export const updateLastLogin = async (user: User) => { + const users = await Users(); + return users.updateOne({ username: user.username }, { $set: { lastLogin: new Date() } }); +} + export const getUserBuildings = async (user: User): Promise> => { // const users = await Users(); // const user = await users.findOne({ username }); diff --git a/src/pages/login.astro b/src/pages/login.astro index 8a59aee..4484529 100644 --- a/src/pages/login.astro +++ b/src/pages/login.astro @@ -2,7 +2,7 @@ import Layout from '../layouts/Layout.astro'; import NavBar from '../components/NavBar.astro'; -import { getUserByNickOrEmail } from '../lib/db/users'; +import { getUserByNickOrEmail, updateLastLogin } from '../lib/db/users'; import { compare } from 'bcrypt'; @@ -43,6 +43,8 @@ if(Astro.request.method === "POST") { const token = (await res.json()).accessToken; + await updateLastLogin(user); + Astro.cookies.set("sessionToken", token, { path: "/", maxAge: sessionTime,