start stubbing out endpoints

This commit is contained in:
2026-04-13 20:03:26 +03:00
parent ce9bca0a75
commit 4aa4e58c58
14 changed files with 304 additions and 48 deletions

View File

@@ -1,6 +1,7 @@
from flask import session, flash
from .models import Sessions
from .models import Sessions, Users
from argon2 import PasswordHasher
import secrets
import time
ph = PasswordHasher()
@@ -15,9 +16,9 @@ def verify(expected, given):
return False
def is_logged_in():
if "pyrom_session_key" not in session:
if 'pyrom_session_key' not in session:
return False
sess = Sessions.find({"key": session["pyrom_session_key"]})
sess = Sessions.find({'key': session['pyrom_session_key']})
if not sess:
return False
if sess.expires_at < int(time.time()):
@@ -26,3 +27,17 @@ def is_logged_in():
# flash('Your session expired.;Please log in again.', InfoboxKind.INFO)
return False
return True
def get_active_user():
if not is_logged_in():
return None
sess = Sessions.find({'key': session['pyrom_session_key']})
return Users.find({'id': sess.user_id})
def create_session(user_id):
return Sessions.create({
'key': secrets.token_hex(16),
'user_id': user_id,
'expires_at': int(time.time()) + (31 * 24 * 60 * 60),
})