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
|
||||
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)
|
||||
|
||||
|
||||
@@ -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