User entitie - #1
Conversation
lseixas
left a comment
There was a problem hiding this comment.
@PedroOSanches reverte as alterações que você fez nas rotas, não vamos usa-las do jeito que estão agora
Deixa alterações apenas nos arquivos: user.py, test_user.py, user_repo_mock.py, test_user_repo_mock.py, user_repository_interface.py
…nha e papel do usuário
…D e ROLE adequadamente
| def update_user( | ||
| self, | ||
| user: User, | ||
| new_password_hash: str | None = None, | ||
| new_user_role: ROLE | None = None | ||
| ) -> User: | ||
|
|
||
| if new_password_hash is None and new_user_role is None: | ||
| raise MissingParameters("At least one parameter must be provided for update.") | ||
|
|
||
| for stored_user in self.users: | ||
| if stored_user.user_id == user.user_id: | ||
| if new_password_hash is not None: | ||
| stored_user.password_hash = new_password_hash | ||
|
|
||
| if new_user_role is not None: | ||
| stored_user.role = new_user_role | ||
| return stored_user |
There was a problem hiding this comment.
ta quase certo pedro,
a ideia desse método vai ser receber apenas a entidade User e atualizar ela "por inteiro"
tipo vai ficar na assinatura do método apenas def update_user(self, user: User): - ai dentro do método você encontra o usuário a ser atualizado usando user.user_id e faz um self.users[idx] = user, sobrescrevendo o usuário do banco com um "novo" usuário que na verdade traz os campos atualizados
pensa que o user do banco vai estar assim User("id", "camila@gmail", "User", "senha_1"). Esse método vai sobrescrever com a nova entidade (que vai ter os mesmos campos inalterados E os campos alterados também) User("id", "camilda@gmail.com", "User", "senha_2")
No description provided.