Add Set user last login on login

This commit is contained in:
Esa Kataja
2024-12-01 22:11:25 +02:00
parent 960856cdd8
commit 7f6dcefb91
+18 -14
View File
@@ -1,24 +1,28 @@
from datetime import datetime
from models.user import UserIn, UserOut
from lib.database.database import get_db
from lib.database.database import get_db, db_run
from lib.logger import logger
def set_last_login(user_id: str) -> datetime:
cur_time = datetime.now()
sql = f"UPDATE users SET last_login = '{cur_time}' WHERE id = '{user_id}'"
with get_db() as conn:
conn.execute(sql)
return cur_time
def get_user_by_username(username) -> UserIn | None:
sql = f"SELECT * FROM users WHERE username = '{username}'"
with get_db() as conn:
result = conn.execute(sql).fetchone()
result = conn.execute(sql).df().to_dict(orient="records")[0]
if result is not None:
return UserIn(
id=str(result[0]),
username=result[1],
password=result[2],
email=result[3],
avatar_url=result[4],
is_active=result[5],
is_admin=result[6],
last_login=result[7],
created_at=result[8],
updated_at=result[9],
)
last_login = set_last_login(result["id"])
result["id"] = str(result["id"])
result["last_login"] = last_login
return UserIn(**result)
return None