mud_server.db.users_repo
User account repository operations for the SQLite backend.
This module isolates account and guest-lifecycle persistence logic from the
monolithic compatibility facade in database.py.
Functions
|
Create an account row without provisioning characters. |
|
Return |
|
Return user id for |
|
Return username for |
|
Return role for |
|
Return account origin label for |
|
Update user role. |
|
Verify password against bcrypt hash. |
|
Return |
|
Deactivate user account. |
|
Activate user account. |
|
Change user password using bcrypt hash. |
|
Soft-delete account row by marking tombstone fields. |
|
Soft-delete user after detaching characters and removing sessions. |
|
Detach all characters from a user id. |
Delete expired guest accounts and detach their character ownership. |
Module Contents
- mud_server.db.users_repo.create_user_with_password(username, password, *, role='player', account_origin='legacy', email_hash=None, is_guest=False, guest_expires_at=None)[source]
Create an account row without provisioning characters.
- Parameters:
username (str) – Unique account username.
password (str) – Plain text password (hashed before persistence).
role (str) – Role label for authorization policy.
account_origin (str) – Provenance marker for auditing and cleanup.
email_hash (str | None) – Optional hashed email value.
is_guest (bool) – Whether the account is guest-scoped.
guest_expires_at (str | None) – Optional guest expiry timestamp.
- Returns:
Truewhen the account is created, otherwiseFalsefor uniqueness/integrity conflicts.- Return type:
- mud_server.db.users_repo.get_user_id(username)[source]
Return user id for
usernameorNoneif missing.
- mud_server.db.users_repo.get_username_by_id(user_id)[source]
Return username for
user_idorNoneif missing.
- mud_server.db.users_repo.get_user_role(username)[source]
Return role for
usernameorNoneif missing.
- mud_server.db.users_repo.get_user_account_origin(username)[source]
Return account origin label for
username.
- mud_server.db.users_repo.set_user_role(username, role)[source]
Update user role.
- Returns:
Trueon successful SQL update, otherwiseFalse.- Return type:
- mud_server.db.users_repo.verify_password_for_user(username, password)[source]
Verify password against bcrypt hash.
Uses a dummy hash when user lookup fails to preserve timing behavior.
- mud_server.db.users_repo.change_password_for_user(username, new_password)[source]
Change user password using bcrypt hash.
- mud_server.db.users_repo.tombstone_user(user_id)[source]
Soft-delete account row by marking tombstone fields.
- mud_server.db.users_repo.delete_user(username)[source]
Soft-delete user after detaching characters and removing sessions.