Moved user creation to user_controller.new()
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
from flask import render_template, request, make_response, redirect
|
from flask import render_template, request, make_response, redirect
|
||||||
import database, re, bcrypt, secrets, time
|
import database, re, bcrypt, secrets, time
|
||||||
|
import user_controller
|
||||||
|
|
||||||
from app import app
|
from app import app
|
||||||
|
|
||||||
@@ -169,8 +170,8 @@ def newuser():
|
|||||||
if len(username) < 3:
|
if len(username) < 3:
|
||||||
success = False
|
success = False
|
||||||
responses.append(f"Der Nutzername {username} ist zu kurz.")
|
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
|
success = False
|
||||||
responses.append(f"Der Nutzername {username} wird bereits verwendet.")
|
responses.append(f"Der Nutzername {username} wird bereits verwendet.")
|
||||||
|
|
||||||
@@ -178,27 +179,18 @@ def newuser():
|
|||||||
pass2 = str(request.form['pass2'])
|
pass2 = str(request.form['pass2'])
|
||||||
if pass1 != pass2:
|
if pass1 != pass2:
|
||||||
success = False
|
success = False
|
||||||
responses.append(f"Passwort und Passwortbestätigung sind ungleich.")
|
responses.append("Passwort und Passwortbestätigung sind ungleich.")
|
||||||
|
|
||||||
if len(pass1) < 10:
|
if len(pass1) < 10:
|
||||||
success = False
|
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:
|
if not success:
|
||||||
return render_template("auth/register.html",
|
return render_template("auth/register.html",
|
||||||
responses=responses,
|
responses=responses,
|
||||||
username=username)
|
username=username)
|
||||||
|
|
||||||
uid = secrets.randbelow(99999999)
|
user_controller.new(username, pass1)
|
||||||
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))
|
|
||||||
|
|
||||||
return render_template("auth/registersuccess.html", username=username)
|
return render_template("auth/registersuccess.html", username=username)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in New Issue
Block a user