diff --git a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/createAccount.py b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/createAccount.py index 2eadbed..e9cf14f 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/createAccount.py +++ b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/createAccount.py @@ -6,7 +6,7 @@ # By: edbernar 20): - socket.sendError("Username must be at most 20 characters long", 9009) - return - if (content["username"].find(' ') != -1): - socket.sendError("Username must not contain spaces", 9011) + socket.sendError("Username must be at most 20 characters long", 9017) return if (content["username"].isalnum() == False): - socket.sendError("Username must contain only letters and numbers", 9012) + socket.sendError("Username must contain only letters and numbers", 9018) return if (len(content["password"]) < 8): - socket.sendError("Password must be at least 8 characters long", 9013) + socket.sendError("Password must be at least 8 characters long", 9019) return - if (bool(re.match(pattern, content["password"]))): - socket.sendError("Password must contain at least one lowercase letter, one uppercase letter and one special character", 9014) + if (not bool(re.match(password_pattern, content["password"]))): + socket.sendError("Password must contain at least one lowercase letter, one uppercase letter and one special character", 9020) return if (content["password"].find(content["username"]) != -1): - socket.sendError("Password must not contain the username", 9015) + socket.sendError("Password must not contain the username", 9021) return - if (len(User.objects.filter(mail=content["mail"]))): - socket.sendError("Mail already used", 9016) + if (User.objects.filter(mail=content["mail"]).exists()): + socket.sendError("Mail already used", 9022) return - if (len(User.objects.filter(username=content["username"]))): - socket.sendError("Username already used", 9017) + if (User.objects.filter(username=content["username"]).exists()): + socket.sendError("Username already used", 9023) return password = hashlib.md5((content["mail"] + content["password"]).encode()).hexdigest() new_user = User.objects.create(username=content["username"], mail=content["mail"], password=password) @@ -66,4 +60,4 @@ def createAccount(socket, content): else: socket.sendError("Already logged in", 9012) except Exception as e: - socket.sendError("Error create account", 9005, e) + socket.sendError("An error occured while creating the account", 9024, e) diff --git a/listError.txt b/listError.txt index e578ff0..248744d 100644 --- a/listError.txt +++ b/listError.txt @@ -15,3 +15,14 @@ - 9011 : Not user registered with this 42 account - 9012 : Already logged in - 9013 : User already connected +- 9014 : Invalid mail +- 9015 : Username must not contain spaces +- 9016 : Username must be at least 3 characters long +- 9017 : Username must be at most 20 characters long +- 9018 : Username must contain only letters and numbers +- 9019 : Password must be at least 8 characters long +- 9020 : Password must contain at least one lowercase letter, one uppercase letter and one special character +- 9021 : Password must not contain the username +- 9022 : Mail already used +- 9023 : Username already used +- 9024 : An error occured while creating the account