"""auth — comptes utilisateurs, connexion, 2FA (TOTP) et isolation par utilisateur d'un SEUL projet (sauf le rôle "admin", illimité) — voir create_user.py pour le détail des règles. Base SQLite entièrement séparée de db/ (une base par JEU) : ces comptes n'appartiennent à aucun jeu, ils en POSSÈDENT un (project_slug).""" from .connection import users_db_path from .ensure_schema import ensure_users_schema from .is_first_user import is_first_user from .create_user import create_user, UserCreationError from .get_user_by_email import get_user_by_email from .get_user_by_id import get_user_by_id from .verify_password import verify_password from .confirm_totp import confirm_totp from .verify_totp import verify_totp from .set_project_slug import set_project_slug from .password_strength import password_strength, MIN_SCORE_REQUIRED from .totp_qrcode_svg import totp_provisioning_uri, totp_qrcode_svg from .rate_limit import lockout_minutes_for, seconds_locked_remaining, lockout_message from .record_failed_attempt import record_failed_attempt from .reset_failed_attempts import reset_failed_attempts from .recovery_codes import generate_recovery_codes, verify_recovery_code from .set_password import set_password from .password_reset import ( create_password_reset_token, get_user_id_for_valid_token, consume_password_reset_token, TOKEN_TTL_MINUTES, ) from .send_email import send_password_reset_email, EmailNotConfiguredError from .update_profile import update_profile from .count_admins import count_admins from .delete_user import delete_user __all__ = [ "users_db_path", "ensure_users_schema", "is_first_user", "create_user", "UserCreationError", "get_user_by_email", "get_user_by_id", "verify_password", "confirm_totp", "verify_totp", "set_project_slug", "password_strength", "MIN_SCORE_REQUIRED", "totp_provisioning_uri", "totp_qrcode_svg", "lockout_minutes_for", "seconds_locked_remaining", "lockout_message", "record_failed_attempt", "reset_failed_attempts", "generate_recovery_codes", "verify_recovery_code", "set_password", "create_password_reset_token", "get_user_id_for_valid_token", "consume_password_reset_token", "TOKEN_TTL_MINUTES", "send_password_reset_email", "EmailNotConfiguredError", "update_profile", "count_admins", "delete_user", ]