Add delete member

This commit is contained in:
Koshin S Hegde 2024-09-01 14:17:17 +05:30
parent f7d2285e74
commit 5f26b48c04
3 changed files with 26 additions and 2 deletions

Binary file not shown.

View File

@ -139,3 +139,18 @@ def register() -> flask.Response:
return flask.Response("Mail taken") return flask.Response("Mail taken")
return flask.Response("Phone/ pin code wrong", 400) return flask.Response("Phone/ pin code wrong", 400)
return flask.Response() return flask.Response()
@app.post("/delete-member")
def delete_member() -> flask.Response:
try:
user_id = flask.session["user_id"]
except KeyError:
return flask.Response("Not logged in", 428)
try:
utils.UserHandler.delete_member(flask.request.form["mail"], user_id)
except AssertionError:
return flask.Response("User doesn't exist", 404)
except KeyError as e:
return flask.Response("mail doesn't exist", 422)
return flask.Response()

View File

@ -121,8 +121,7 @@ class UserHandler:
""", """,
(user_id, ) (user_id, )
).fetchall() ).fetchall()
if not users: assert users, f"{user_id} does not exist!"
raise KeyError(f"{user_id} does not exist!")
user = users[0] user = users[0]
return User( return User(
user[0], user[0],
@ -187,3 +186,13 @@ class UserHandler:
password.encode("utf-8"), password.encode("utf-8"),
users[0][0] users[0][0]
) )
@classmethod
def delete_member(cls, mail: str, leader_id: int) -> None:
assert cls.get_user_by_id(leader_id).team_id == cls.get_user_by_mail(mail).team_id
cls.__cursor.execute(
f"""
DELETE FROM users WHERE mail=?
""", (mail, )
)
cls.__connection.commit()