diff --git a/backend/data/sqlite-database.db b/backend/data/sqlite-database.db index 7bbe181..129bd78 100644 Binary files a/backend/data/sqlite-database.db and b/backend/data/sqlite-database.db differ diff --git a/backend/src/rest_api.py b/backend/src/rest_api.py index 2ba7640..ce6bb0d 100644 --- a/backend/src/rest_api.py +++ b/backend/src/rest_api.py @@ -1,5 +1,4 @@ import os -from os.path import isdir import secrets import sqlite3 import flask @@ -20,8 +19,7 @@ def register_mail() -> flask.Response: return flask.Response(f"mail or password is missing", 422) try: utils.MailHandler.send_code(mail) - except Exception as e: - print(e) + except Exception: return flask.Response("Something went wrong, check mail or try again later", 404) response = flask.Response() response.set_cookie("mail", mail) @@ -31,11 +29,9 @@ def register_mail() -> flask.Response: @app.post("/verify-mail-code") def confirm_mail_code() -> flask.Response: try: - print(flask.request.form) mail = flask.request.cookies["mail"] token = flask.request.form["token"] - except KeyError as e: - print("\n\n\n", e) + except KeyError: return flask.Response("Token missing or /register_mail not called", 422) try: success = utils.MailHandler.verify_code(mail, token) @@ -43,9 +39,10 @@ def confirm_mail_code() -> flask.Response: return flask.Response("Register mail not called. Try again", 404) if success: flask.session["mail"] = mail - response = flask.Response(str(success)) - response.delete_cookie("mail") - return response + response = flask.Response(str(success)) + response.delete_cookie("mail") + return response + return flask.Response("Wrong code", 400) @app.post("/register-leader") @@ -97,7 +94,7 @@ def login() -> flask.Response: except KeyError: return flask.Response("Mail doesn't exist", 404) except AssertionError: - return flask.Response("Wrong password", 422) + return flask.Response("Wrong password", 400) @app.post("/get-mail") @@ -111,7 +108,6 @@ def get_id() -> flask.Response: @app.post("/logout") def logout() -> flask.Response: try: - print(flask.session) flask.session.pop("user_id") except KeyError: return flask.Response("Not logged in", 428) @@ -120,13 +116,11 @@ def logout() -> flask.Response: @app.post("/register-teammate") def register() -> flask.Response: - print(flask.request.form) try: user_id = flask.session["user_id"] except KeyError: return flask.Response("Not logged in", 428) try: - print(utils.UserHandler.get_user_by_id(user_id)) team_id = utils.UserHandler.get_user_by_id(user_id).team_id utils.UserHandler.create_user(utils.User( -1, @@ -144,7 +138,7 @@ def register() -> flask.Response: if error_message == "UNIQUE constraint failed: users.phone_number": return flask.Response("Phone number taken", 400) if error_message == "UNIQUE constraint failed: users.mail": - return flask.Response("Mail taken") + return flask.Response("Mail taken", 400) return flask.Response("Phone/ pin code wrong", 400) return flask.Response() @@ -193,9 +187,9 @@ def upload_project_files() -> flask.Response: except KeyError: return flask.Response("file missing", 422) file_name = file.filename if file.filename else secrets.token_urlsafe(20) - if not os.path.isdir(f"./data/project-files/{team_id}"): - os.mkdir(f"./data/project-files/{team_id}") - file.save(f"./data/project-files/{team_id}/{file_name}") + if not os.path.isdir(f"../data/project-files/{team_id}"): + os.mkdir(f"../data/project-files/{team_id}") + file.save(f"../data/project-files/{team_id}/{file_name}") return flask.Response() @@ -212,10 +206,9 @@ def get_info() -> flask.Response: return flask.Response("Not logged in", 428) team_id = utils.UserHandler.get_user_by_id(user_id).team_id team_members = utils.TeamHandler.get_team_members(team_id) - print(team_members) for team_member in team_members: info["team_members"].append(utils.UserHandler.get_user_by_id(team_member).to_dict()) info["project_details"] = vars(utils.TeamHandler.get_project(team_id)) - if os.path.isdir(f"./data/project-files/{team_id}"): - info["project_files"] = os.listdir(f"./data/project-files/{team_id}") + if os.path.isdir(f"../data/project-files/{team_id}"): + info["project_files"] = os.listdir(f"../data/project-files/{team_id}") return flask.jsonify(info) diff --git a/backend/src/utils/team.py b/backend/src/utils/team.py index d58bb65..394557b 100644 --- a/backend/src/utils/team.py +++ b/backend/src/utils/team.py @@ -33,7 +33,10 @@ class Team: ) -> None: self.team_id = int(team_id) self.team_name = team_name - self.is_related_to_special_topics = bool(int(is_related_to_special_topics)) + try: + self.is_related_to_special_topics = bool(int(is_related_to_special_topics)) + except ValueError: + self.is_related_to_special_topics = is_related_to_special_topics == "true" self.problem_statement = problem_statement self.title = title self.solution = solution @@ -45,7 +48,7 @@ class Team: class TeamHandler: - __connection: sqlite3.Connection = sqlite3.connect("./data/sqlite-database.db", check_same_thread=False) + __connection: sqlite3.Connection = sqlite3.connect("../data/sqlite-database.db", check_same_thread=False) __cursor: sqlite3.Cursor = __connection.cursor() @classmethod diff --git a/backend/src/utils/user.py b/backend/src/utils/user.py index cdca8a8..4c68fa7 100644 --- a/backend/src/utils/user.py +++ b/backend/src/utils/user.py @@ -62,7 +62,7 @@ class User: return the_dict class UserHandler: - __connection: sqlite3.Connection = sqlite3.connect("./data/sqlite-database.db", check_same_thread=False) + __connection: sqlite3.Connection = sqlite3.connect("../data/sqlite-database.db", check_same_thread=False) __cursor: sqlite3.Cursor = __connection.cursor() @classmethod