Updated Command to allow client_response. First implementation or UserProfile control

This commit is contained in:
2025-11-11 12:07:00 +01:00
parent c641f3fd63
commit cba4f2aab4
11 changed files with 166 additions and 26 deletions

View File

@@ -198,6 +198,7 @@ def retrieve_user_info(session: dict):
"email": "** NOT LOGGED IN **",
"username": "** NOT LOGGED IN **",
"role": [],
"user_settings": {}
}
if "user_info" not in session:
@@ -206,24 +207,37 @@ def retrieve_user_info(session: dict):
"email": "** UNKNOWN USER **",
"username": "** UNKNOWN USER **",
"role": [],
"user_settings": {}
}
return session["user_info"]
def debug_session(session):
if session is None:
return "None"
if not isinstance(session, dict):
return str(session)
return session.get("user_info", {}).get("email", "** UNKNOWN USER **")
@utils_rt(Routes.Commands)
def post(session, c_id: str):
def post(session, c_id: str, client_response: dict = None):
"""
Default routes for all commands.
:param session:
:param c_id:
:param c_id: id of the command set
:param client_response: extra data received from the client (from the browser)
:return:
"""
logger.debug(f"Entering {Routes.Commands} with {session=}, {c_id=}")
client_response.pop("c_id", None)
logger.debug(f"Entering {Routes.Commands} with session='{debug_session(session)}', {c_id=}, {client_response=}")
from myfasthtml.core.commands import CommandsManager
command = CommandsManager.get_command(c_id)
if command:
return command.execute()
return command.execute(client_response)
raise ValueError(f"Command with ID '{c_id}' not found.")