Implement max 4 team-members
This commit is contained in:
parent
b2ce867b7d
commit
85ec0e1a4e
Binary file not shown.
@ -61,7 +61,8 @@ def register_leader() -> flask.Response:
|
||||
user_id = utils.UserHandler.get_user_by_mail(mail).user_id
|
||||
flask.session.pop("mail")
|
||||
flask.session["user_id"] = user_id
|
||||
except (TypeError, KeyError):
|
||||
except (TypeError, KeyError) as e:
|
||||
print(e)
|
||||
return flask.Response("Something is missing", 422)
|
||||
except sqlite3.IntegrityError:
|
||||
return flask.Response("Mail already registered or phone number or pin code is not correct", 428)
|
||||
@ -125,6 +126,8 @@ def register() -> flask.Response:
|
||||
))
|
||||
except TypeError:
|
||||
return flask.Response("Not all details provided", 422)
|
||||
except AssertionError:
|
||||
return flask.Response("Max 4 members", 400)
|
||||
except sqlite3.IntegrityError as error:
|
||||
error_message = str(error)
|
||||
if error_message == "UNIQUE constraint failed: users.phone_number":
|
||||
|
@ -34,3 +34,14 @@ class TeamHandler:
|
||||
)
|
||||
cls.__connection.commit()
|
||||
return team.lastrowid if team.lastrowid else -1
|
||||
|
||||
@classmethod
|
||||
def get_team_members(cls, team_id: int) -> list[int]:
|
||||
users = cls.__cursor.execute(
|
||||
f"""
|
||||
SELECT user_id
|
||||
FROM users WHERE team_id = ?;
|
||||
""",
|
||||
(team_id, )
|
||||
).fetchall()
|
||||
return users
|
||||
|
@ -1,6 +1,7 @@
|
||||
import bcrypt
|
||||
from dataclasses import dataclass
|
||||
import sqlite3
|
||||
import utils
|
||||
|
||||
|
||||
@dataclass
|
||||
@ -66,6 +67,7 @@ class UserHandler:
|
||||
cls,
|
||||
user: User
|
||||
) -> None:
|
||||
assert len(utils.TeamHandler.get_team_members(user.team_id)) <= 4
|
||||
salt = bcrypt.gensalt()
|
||||
encrypted_password = bcrypt.hashpw(user.password.encode("utf-8"), salt)
|
||||
cls.__cursor.execute(
|
||||
|
Loading…
x
Reference in New Issue
Block a user