from werkzeug.security import generate_password_hash from .connection import connect def set_password(user_id: int, new_password: str) -> None: """Remet aussi le compteur anti-bruteforce à zéro (auth/rate_limit.py) : prouver son identité par email est une voie de récupération légitime, un compte verrouillé après trop d'échecs ne doit pas rester bloqué une fois le mot de passe changé pour de vrai.""" conn = connect() conn.execute( "UPDATE _users SET password_hash = ?, failed_attempts = 0, locked_until = NULL WHERE id = ?", (generate_password_hash(new_password), user_id), ) conn.commit() conn.close()