diff options
author | lonkaars <l.leblansch@gmail.com> | 2021-03-19 19:19:11 +0100 |
---|---|---|
committer | lonkaars <l.leblansch@gmail.com> | 2021-03-19 19:19:11 +0100 |
commit | 4fdf1c47e2a38af3a3fbcd42a52833de3ec5d2cf (patch) | |
tree | ffcaa1b8e8d170996fe9ca3d37deba07b4a94920 /api/auth/signup.py | |
parent | 2f22a0f87dcf8c00ffedc57a69838e13519abefc (diff) | |
parent | b2ac9175084e1a67bee95dcea324dfdbb50fc8d2 (diff) |
Merge branch 'master' of github.com:lonkaars/po-4-op-een-rij
Diffstat (limited to 'api/auth/signup.py')
-rw-r--r-- | api/auth/signup.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/api/auth/signup.py b/api/auth/signup.py index 210ba94..d5d178a 100644 --- a/api/auth/signup.py +++ b/api/auth/signup.py @@ -6,14 +6,17 @@ import passwords import time import re +# Checks wheter the usename (at signup) exist of at least 3 and at most 35 charachters def validate_username(username): - return len(username) in range(3, 35 + 1) + return len(username) in range(3, 35 + 1) +# Checks if there's an '@' in the email (at signup) and if there's any input at all def validate_email(email): #TODO: use node_modules/email-validator/index.js return len(email) > 1 and \ "@" in email +# Checks wheter the signed up password consist of an uppercase, lowercase and a digit & the minimal length is 8 charachters def validate_password(password): passwordRegex = r"^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{8,}$" # r"" = raw string return re.match(passwordRegex, password) @@ -22,6 +25,7 @@ signup = Blueprint('signup', __name__) @signup.route('/signup', methods = ['POST']) def index(): + # Requests information from endpoint 'signup', recieves username, email and password. It can also recieve an empty string, in that case the program will stop and return error code/http code '400' data = request.get_json() username = data.get("username") or "" @@ -33,6 +37,7 @@ def index(): not password: return "", 400 + # if not validate_username(username) or \ not validate_email(email) or \ not validate_password(password): @@ -48,7 +53,7 @@ def index(): password_hash = passwords.password_hash(password) registered = int( time.time() * 1000 ) - cursor.execute("insert into users values (?, ?, ?, NULL, NULL, ?, ?, \"[]\", FALSE, \"user\", \"{}\", NULL, \"online\") ", + cursor.execute("insert into users values (?, ?, ?, NULL, NULL, ?, ?, \"[]\", FALSE, \"user\", \"{}\", \"online\") ", (user_id, username, email, password_hash, registered)) connection.commit() |