Moved user creation to user_controller.new()

This commit is contained in:
2025-12-23 01:15:15 +01:00
parent 6f6d05fe31
commit c2a8199a84
2 changed files with 69 additions and 14 deletions
+6 -14
View File
@@ -1,5 +1,6 @@
from flask import render_template, request, make_response, redirect
import database, re, bcrypt, secrets, time
import user_controller
from app import app
@@ -169,8 +170,8 @@ def newuser():
if len(username) < 3:
success = False
responses.append(f"Der Nutzername {username} ist zu kurz.")
usernamequery = database.fetch("SELECT id FROM user WHERE username=?", [username])
if len(usernamequery) != 0:
if user_controller.id_from_username(username) != 0:
success = False
responses.append(f"Der Nutzername {username} wird bereits verwendet.")
@@ -178,27 +179,18 @@ def newuser():
pass2 = str(request.form['pass2'])
if pass1 != pass2:
success = False
responses.append(f"Passwort und Passwortbestätigung sind ungleich.")
responses.append("Passwort und Passwortbestätigung sind ungleich.")
if len(pass1) < 10:
success = False
responses.append(f"Das Passwort ist kürzer als 10 Zeichen.")
responses.append("Das Passwort ist kürzer als 10 Zeichen.")
if not success:
return render_template("auth/register.html",
responses=responses,
username=username)
uid = secrets.randbelow(99999999)
created_at = int(time.time())
# emailcode = secrets.randbelow(999999)
passsalt = bcrypt.gensalt()
passhash = bcrypt.hashpw(pass1.encode("utf8"), passsalt)
database.execute("""INSERT INTO user
(uid, created_at, username, password) VALUES
(?, ?, ?, ?)""",
(uid, created_at, username, passhash))
user_controller.new(username, pass1)
return render_template("auth/registersuccess.html", username=username)
+63
View File
@@ -0,0 +1,63 @@
import database, re, bcrypt, secrets, time
def new(username, password):
uid = secrets.randbelow(99999999)
created_at = int(time.time())
passsalt = bcrypt.gensalt()
passhash = bcrypt.hashpw(password.encode("utf8"), passsalt)
database.execute("""INSERT INTO user
(uid, created_at, username, password) VALUES
(?, ?, ?, ?)""",
(uid, created_at, username, passhash))
return
def from_uid():
pass
def id_from_username(username):
query = database.fetch("SELECT id FROM user WHERE username=?", [username], False)
if query:
return query[0]
else:
return 0
def id_from_session(session):
sessioninfo = database.fetch("""SELECT uid, expires
FROM session
WHERE value=?;""",
[sessionid], False)
if not sessioninfo:
return 0
# if int(sessioninfo[2] > int(time.time())):
# return 0 # session expired
pass
def exists():
# count from database
pass
def authenticate(password):
# verify password with stored hash
pass
def get_info() -> dict:
pass
def set_username(newname):
# update username
pass
def set_password(newpass):
# update password
pass
def delete():
# delete database entry
pass