fix: add home_node to PublicCitizenSummary in routes

This commit is contained in:
Apple
2025-11-28 04:41:16 -08:00
parent 35768f1180
commit 81464994ac

View File

@@ -21,6 +21,7 @@ from models_city import (
CityMapResponse, CityMapResponse,
AgentRead, AgentRead,
AgentPresence, AgentPresence,
HomeNodeView,
PublicCitizenSummary, PublicCitizenSummary,
PublicCitizenProfile, PublicCitizenProfile,
CitizenInteractionInfo, CitizenInteractionInfo,
@@ -80,6 +81,18 @@ async def list_public_citizens(
items: List[PublicCitizenSummary] = [] items: List[PublicCitizenSummary] = []
for citizen in citizens: for citizen in citizens:
# Build home_node if available
home_node_data = citizen.get("home_node")
home_node = None
if home_node_data:
home_node = HomeNodeView(
id=home_node_data.get("id"),
name=home_node_data.get("name"),
hostname=home_node_data.get("hostname"),
roles=home_node_data.get("roles", []),
environment=home_node_data.get("environment")
)
items.append(PublicCitizenSummary( items.append(PublicCitizenSummary(
slug=citizen["public_slug"], slug=citizen["public_slug"],
display_name=citizen["display_name"], display_name=citizen["display_name"],
@@ -91,7 +104,8 @@ async def list_public_citizens(
primary_room_slug=citizen.get("public_primary_room_slug"), primary_room_slug=citizen.get("public_primary_room_slug"),
public_skills=citizen.get("public_skills", []), public_skills=citizen.get("public_skills", []),
online_status=citizen.get("online_status"), online_status=citizen.get("online_status"),
status=citizen.get("status") status=citizen.get("status"),
home_node=home_node
)) ))
return {"items": items, "total": total} return {"items": items, "total": total}