mud_server.api.routes.lab_support ================================= .. py:module:: mud_server.api.routes.lab_support .. autoapi-nested-parse:: Shared helpers for lab route preconditions and response assembly. This module keeps the ``lab`` router focused on HTTP registration while centralising repeated session, world, and translation-layer checks. Functions --------- .. autoapisummary:: mud_server.api.routes.lab_support.require_lab_role mud_server.api.routes.lab_support.require_lab_session mud_server.api.routes.lab_support.get_lab_world mud_server.api.routes.lab_support.require_translation_world mud_server.api.routes.lab_support.require_world_root mud_server.api.routes.lab_support.build_lab_world_config mud_server.api.routes.lab_support.load_world_json mud_server.api.routes.lab_support.write_world_json Module Contents --------------- .. py:function:: require_lab_role(role) Raise 403 if the role's hierarchy level is below admin. .. py:function:: require_lab_session(session_id) Validate one session id and enforce the minimum lab role. :returns: The validated role string for the current session. .. py:function:: get_lab_world(engine, world_id) Return an active world or raise a 404 lab-style error. .. py:function:: require_translation_world(world, world_id, *, status_code = 404) Return one world's translation service or raise an HTTP error. .. py:function:: require_world_root(world, *, unavailable_detail) Return the world root directory or raise a 404 with route-specific detail. .. py:function:: build_lab_world_config(world_id, service) Construct the stable lab-facing world config payload. .. py:function:: load_world_json(world, *, unavailable_detail) Return the resolved ``world.json`` path and parsed payload for one world. .. py:function:: write_world_json(path, payload) Persist one ``world.json`` payload using repo-standard formatting.