mud_server.db.sessions_repo =========================== .. py:module:: mud_server.db.sessions_repo .. autoapi-nested-parse:: Session repository operations for the SQLite backend. This module owns account/in-world session persistence while preserving current runtime behavior expected by API, engine, and tests. Functions --------- .. autoapisummary:: mud_server.db.sessions_repo.create_session mud_server.db.sessions_repo.set_session_character mud_server.db.sessions_repo.remove_session_by_id mud_server.db.sessions_repo.remove_sessions_for_user mud_server.db.sessions_repo.remove_sessions_for_character mud_server.db.sessions_repo.remove_sessions_for_character_count mud_server.db.sessions_repo.update_session_activity mud_server.db.sessions_repo.get_session_by_id mud_server.db.sessions_repo.get_active_session_count mud_server.db.sessions_repo.cleanup_expired_sessions mud_server.db.sessions_repo.clear_all_sessions mud_server.db.sessions_repo.get_active_characters Module Contents --------------- .. py:function:: create_session(user_id, session_id, *, client_type = 'unknown', character_id = None, world_id = None) Create account-only or character-bound session row. Behavior mirrors the compatibility facade contract: - if ``user_id`` is ``str``, resolve by username; - when ``character_id`` is provided and ``world_id`` omitted, world is derived from the character row; - account-only sessions enforce ``world_id = NULL``. .. py:function:: set_session_character(session_id, character_id, *, world_id) Bind character and explicit world to an existing session row. .. py:function:: remove_session_by_id(session_id) Remove one session by its session token. .. py:function:: remove_sessions_for_user(user_id) Remove all sessions for user id. .. py:function:: remove_sessions_for_character(character_id) Remove all sessions bound to character id. .. py:function:: remove_sessions_for_character_count(character_id) Remove all sessions for character id and return removed row count. .. py:function:: update_session_activity(session_id) Update last activity and apply sliding expiration if configured. .. py:function:: get_session_by_id(session_id) Return session record by token, or ``None`` if absent. .. py:function:: get_active_session_count() Count active sessions within the configured activity window. .. py:function:: cleanup_expired_sessions() Delete expired session rows and return number removed. .. py:function:: clear_all_sessions() Delete all session rows and return number removed. .. py:function:: get_active_characters(*, world_id) Return active character names for one explicit world scope.