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
|
user_id = utils.UserHandler.get_user_by_mail(mail).user_id
|
||||||
flask.session.pop("mail")
|
flask.session.pop("mail")
|
||||||
flask.session["user_id"] = user_id
|
flask.session["user_id"] = user_id
|
||||||
except (TypeError, KeyError):
|
except (TypeError, KeyError) as e:
|
||||||
|
print(e)
|
||||||
return flask.Response("Something is missing", 422)
|
return flask.Response("Something is missing", 422)
|
||||||
except sqlite3.IntegrityError:
|
except sqlite3.IntegrityError:
|
||||||
return flask.Response("Mail already registered or phone number or pin code is not correct", 428)
|
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:
|
except TypeError:
|
||||||
return flask.Response("Not all details provided", 422)
|
return flask.Response("Not all details provided", 422)
|
||||||
|
except AssertionError:
|
||||||
|
return flask.Response("Max 4 members", 400)
|
||||||
except sqlite3.IntegrityError as error:
|
except sqlite3.IntegrityError as error:
|
||||||
error_message = str(error)
|
error_message = str(error)
|
||||||
if error_message == "UNIQUE constraint failed: users.phone_number":
|
if error_message == "UNIQUE constraint failed: users.phone_number":
|
||||||
|
@ -34,3 +34,14 @@ class TeamHandler:
|
|||||||
)
|
)
|
||||||
cls.__connection.commit()
|
cls.__connection.commit()
|
||||||
return team.lastrowid if team.lastrowid else -1
|
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
|
import bcrypt
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
import utils
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -66,6 +67,7 @@ class UserHandler:
|
|||||||
cls,
|
cls,
|
||||||
user: User
|
user: User
|
||||||
) -> None:
|
) -> None:
|
||||||
|
assert len(utils.TeamHandler.get_team_members(user.team_id)) <= 4
|
||||||
salt = bcrypt.gensalt()
|
salt = bcrypt.gensalt()
|
||||||
encrypted_password = bcrypt.hashpw(user.password.encode("utf-8"), salt)
|
encrypted_password = bcrypt.hashpw(user.password.encode("utf-8"), salt)
|
||||||
cls.__cursor.execute(
|
cls.__cursor.execute(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user