Extract server route payload handlers
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
try:
|
||||
from .loop_nodes import (
|
||||
accumulator_delete_entries,
|
||||
accumulator_list_entries,
|
||||
accumulator_move_entry,
|
||||
accumulator_save_entries,
|
||||
)
|
||||
from .prompt_builder import save_character_profile_payload
|
||||
except ImportError: # Allows local smoke tests from the repository root.
|
||||
from loop_nodes import (
|
||||
accumulator_delete_entries,
|
||||
accumulator_list_entries,
|
||||
accumulator_move_entry,
|
||||
accumulator_save_entries,
|
||||
)
|
||||
from prompt_builder import save_character_profile_payload
|
||||
|
||||
|
||||
def _payload(payload: Any) -> dict[str, Any]:
|
||||
return payload if isinstance(payload, dict) else {}
|
||||
|
||||
|
||||
def profile_save_cached_payload(payload: Any) -> dict[str, Any]:
|
||||
data = _payload(payload)
|
||||
return save_character_profile_payload(
|
||||
profile_name=str(data.get("profile_name") or ""),
|
||||
profile_json=data.get("profile_json") or "",
|
||||
)
|
||||
|
||||
|
||||
def accumulator_list_payload(payload: Any) -> dict[str, Any]:
|
||||
data = _payload(payload)
|
||||
return accumulator_list_entries(
|
||||
str(data.get("store_key") or ""),
|
||||
preview_limit=int(data.get("preview_limit") or 0),
|
||||
)
|
||||
|
||||
|
||||
def accumulator_delete_payload(payload: Any) -> dict[str, Any]:
|
||||
data = _payload(payload)
|
||||
return accumulator_delete_entries(
|
||||
store_key=str(data.get("store_key") or ""),
|
||||
preview_key=str(data.get("preview_key") or ""),
|
||||
entry_id=str(data.get("entry_id") or ""),
|
||||
index=int(data.get("index") or 0),
|
||||
clear=bool(data.get("clear")),
|
||||
preview_limit=int(data.get("preview_limit") or 0),
|
||||
)
|
||||
|
||||
|
||||
def accumulator_save_payload(payload: Any) -> dict[str, Any]:
|
||||
data = _payload(payload)
|
||||
return accumulator_save_entries(
|
||||
store_key=str(data.get("store_key") or ""),
|
||||
save_path=str(data.get("save_path") or "sxcp_accumulator"),
|
||||
filename_prefix=str(data.get("filename_prefix") or "sxcp_accum"),
|
||||
clear_after_save=bool(data.get("clear_after_save")),
|
||||
preview_limit=int(data.get("preview_limit") or 0),
|
||||
)
|
||||
|
||||
|
||||
def accumulator_move_payload(payload: Any) -> dict[str, Any]:
|
||||
data = _payload(payload)
|
||||
return accumulator_move_entry(
|
||||
store_key=str(data.get("store_key") or ""),
|
||||
preview_key=str(data.get("preview_key") or ""),
|
||||
entry_id=str(data.get("entry_id") or ""),
|
||||
index=int(data.get("index") or 0),
|
||||
direction=str(data.get("direction") or "up"),
|
||||
target_index=int(data.get("target_index") or 0),
|
||||
preview_limit=int(data.get("preview_limit") or 0),
|
||||
)
|
||||
Reference in New Issue
Block a user