def update_password(self, session_id, new_password): session = self.session_dao.find_user_by_session(session_id) if session is None: raise Exception('La sesión es inválida.') crypto = Crypto() new_hashed_password = crypto.cypher(new_password) self.users_dao.update_user_password(session.username, new_hashed_password)
def login(self, username, password): user = self.users_dao.find_by_username(username) if user is None: raise Exception('El usuario y/o contraseña son incorrectos, por favor intenta de nuevo.') crypto = Crypto() if not crypto.verify_encrypted_password(password, user.password): raise Exception('El usuario y/o contraseña son incorrectos, por favor intenta de nuevo.') session_uuid = str(uuid.uuid4()) session = Session(username, session_uuid) self.session_dao.save_session(session) return session_uuid
def create_user(self, username, email, password): self.validate_user_data(username, email, password) crypto = Crypto() hashed_password = crypto.cypher(password) return self.users_dao.create_user(User(username, email, hashed_password))