From a032ca946e54e6ded56864fbc341cdcf207fd389 Mon Sep 17 00:00:00 2001 From: cami Date: Mon, 28 Jun 2021 03:46:27 +0200 Subject: [PATCH] Starting to add feedback in the registration (fixes #78) --- backend/src/app.py | 30 +++++++++++++++-------- frontend/src/components/pages/Register.js | 9 ++++++- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/backend/src/app.py b/backend/src/app.py index a5fe15a..75625f4 100644 --- a/backend/src/app.py +++ b/backend/src/app.py @@ -144,16 +144,26 @@ def register(): req = flask.request.get_json(force=True) username = req.get('username', None) password = req.get('password', None) - new_user = User( - username=username, - password=guard.hash_password(password) - ) - db.session.add(new_user) - db.session.commit() - ret = {'message': 'Account erstellt für den Account {}'.format( - new_user.username - )} - return ret, 200 + + get_list_by_username = User.query.filter_by(username=username).first() + print(get_list_by_username) + if get_list_by_username is None: + new_user = User( + username=username, + password=guard.hash_password(password) + ) + db.session.add(new_user) + db.session.commit() + ret = {'message': 'Account erstellt für den Account {}'.format( + new_user.username + )} + return ret, 200 + else: + ret = {'message': 'Benutzername {} existiert bereits. Bitte wähle einen anderen '.format( + username + )} + return ret, 409 + @app.route('/umfrage', methods=['POST']) diff --git a/frontend/src/components/pages/Register.js b/frontend/src/components/pages/Register.js index 3145a26..ee7f404 100644 --- a/frontend/src/components/pages/Register.js +++ b/frontend/src/components/pages/Register.js @@ -9,16 +9,23 @@ export default function Login() { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); + const [message, setMessage] = useState(""); + const onSubmitClick = (e) => { e.preventDefault(); let opts = { username: username, password: password, }; - console.log(opts); fetch("/api/register", { method: "post", body: JSON.stringify(opts), + }).then((response) => { + if (response.status === 409) { + setMessage(response.message) + console.log(message) + console.log(response) + } }); };