It's 5 O clock

This commit is contained in:
Koshin S Hegde 2024-09-02 04:49:59 +05:30
parent 99bf585d9d
commit f0e53c4953
4 changed files with 19 additions and 23 deletions

Binary file not shown.

View File

@ -1,5 +1,4 @@
import os import os
from os.path import isdir
import secrets import secrets
import sqlite3 import sqlite3
import flask import flask
@ -20,8 +19,7 @@ def register_mail() -> flask.Response:
return flask.Response(f"mail or password is missing", 422) return flask.Response(f"mail or password is missing", 422)
try: try:
utils.MailHandler.send_code(mail) utils.MailHandler.send_code(mail)
except Exception as e: except Exception:
print(e)
return flask.Response("Something went wrong, check mail or try again later", 404) return flask.Response("Something went wrong, check mail or try again later", 404)
response = flask.Response() response = flask.Response()
response.set_cookie("mail", mail) response.set_cookie("mail", mail)
@ -31,11 +29,9 @@ def register_mail() -> flask.Response:
@app.post("/verify-mail-code") @app.post("/verify-mail-code")
def confirm_mail_code() -> flask.Response: def confirm_mail_code() -> flask.Response:
try: try:
print(flask.request.form)
mail = flask.request.cookies["mail"] mail = flask.request.cookies["mail"]
token = flask.request.form["token"] token = flask.request.form["token"]
except KeyError as e: except KeyError:
print("\n\n\n", e)
return flask.Response("Token missing or /register_mail not called", 422) return flask.Response("Token missing or /register_mail not called", 422)
try: try:
success = utils.MailHandler.verify_code(mail, token) 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) return flask.Response("Register mail not called. Try again", 404)
if success: if success:
flask.session["mail"] = mail flask.session["mail"] = mail
response = flask.Response(str(success)) response = flask.Response(str(success))
response.delete_cookie("mail") response.delete_cookie("mail")
return response return response
return flask.Response("Wrong code", 400)
@app.post("/register-leader") @app.post("/register-leader")
@ -97,7 +94,7 @@ def login() -> flask.Response:
except KeyError: except KeyError:
return flask.Response("Mail doesn't exist", 404) return flask.Response("Mail doesn't exist", 404)
except AssertionError: except AssertionError:
return flask.Response("Wrong password", 422) return flask.Response("Wrong password", 400)
@app.post("/get-mail") @app.post("/get-mail")
@ -111,7 +108,6 @@ def get_id() -> flask.Response:
@app.post("/logout") @app.post("/logout")
def logout() -> flask.Response: def logout() -> flask.Response:
try: try:
print(flask.session)
flask.session.pop("user_id") flask.session.pop("user_id")
except KeyError: except KeyError:
return flask.Response("Not logged in", 428) return flask.Response("Not logged in", 428)
@ -120,13 +116,11 @@ def logout() -> flask.Response:
@app.post("/register-teammate") @app.post("/register-teammate")
def register() -> flask.Response: def register() -> flask.Response:
print(flask.request.form)
try: try:
user_id = flask.session["user_id"] user_id = flask.session["user_id"]
except KeyError: except KeyError:
return flask.Response("Not logged in", 428) return flask.Response("Not logged in", 428)
try: try:
print(utils.UserHandler.get_user_by_id(user_id))
team_id = utils.UserHandler.get_user_by_id(user_id).team_id team_id = utils.UserHandler.get_user_by_id(user_id).team_id
utils.UserHandler.create_user(utils.User( utils.UserHandler.create_user(utils.User(
-1, -1,
@ -144,7 +138,7 @@ def register() -> flask.Response:
if error_message == "UNIQUE constraint failed: users.phone_number": if error_message == "UNIQUE constraint failed: users.phone_number":
return flask.Response("Phone number taken", 400) return flask.Response("Phone number taken", 400)
if error_message == "UNIQUE constraint failed: users.mail": 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("Phone/ pin code wrong", 400)
return flask.Response() return flask.Response()
@ -193,9 +187,9 @@ def upload_project_files() -> flask.Response:
except KeyError: except KeyError:
return flask.Response("file missing", 422) return flask.Response("file missing", 422)
file_name = file.filename if file.filename else secrets.token_urlsafe(20) file_name = file.filename if file.filename else secrets.token_urlsafe(20)
if not os.path.isdir(f"./data/project-files/{team_id}"): if not os.path.isdir(f"../data/project-files/{team_id}"):
os.mkdir(f"./data/project-files/{team_id}") os.mkdir(f"../data/project-files/{team_id}")
file.save(f"./data/project-files/{team_id}/{file_name}") file.save(f"../data/project-files/{team_id}/{file_name}")
return flask.Response() return flask.Response()
@ -212,10 +206,9 @@ def get_info() -> flask.Response:
return flask.Response("Not logged in", 428) return flask.Response("Not logged in", 428)
team_id = utils.UserHandler.get_user_by_id(user_id).team_id team_id = utils.UserHandler.get_user_by_id(user_id).team_id
team_members = utils.TeamHandler.get_team_members(team_id) team_members = utils.TeamHandler.get_team_members(team_id)
print(team_members)
for team_member in team_members: for team_member in team_members:
info["team_members"].append(utils.UserHandler.get_user_by_id(team_member).to_dict()) info["team_members"].append(utils.UserHandler.get_user_by_id(team_member).to_dict())
info["project_details"] = vars(utils.TeamHandler.get_project(team_id)) info["project_details"] = vars(utils.TeamHandler.get_project(team_id))
if os.path.isdir(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}") info["project_files"] = os.listdir(f"../data/project-files/{team_id}")
return flask.jsonify(info) return flask.jsonify(info)

View File

@ -33,7 +33,10 @@ class Team:
) -> None: ) -> None:
self.team_id = int(team_id) self.team_id = int(team_id)
self.team_name = team_name 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.problem_statement = problem_statement
self.title = title self.title = title
self.solution = solution self.solution = solution
@ -45,7 +48,7 @@ class Team:
class TeamHandler: 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() __cursor: sqlite3.Cursor = __connection.cursor()
@classmethod @classmethod

View File

@ -62,7 +62,7 @@ class User:
return the_dict return the_dict
class UserHandler: 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() __cursor: sqlite3.Cursor = __connection.cursor()
@classmethod @classmethod