diff --git a/src/meshcore_hub/api/routes/nodes.py b/src/meshcore_hub/api/routes/nodes.py index 5002104..9725f28 100644 --- a/src/meshcore_hub/api/routes/nodes.py +++ b/src/meshcore_hub/api/routes/nodes.py @@ -22,6 +22,7 @@ def _get_adopted_by(node: Node) -> Optional[AdoptedByUser]: user_id=profile.user_id, name=profile.name, callsign=profile.callsign, + profile_id=profile.id, ) return None diff --git a/src/meshcore_hub/common/schemas/nodes.py b/src/meshcore_hub/common/schemas/nodes.py index 3f0ef87..7952b9b 100644 --- a/src/meshcore_hub/common/schemas/nodes.py +++ b/src/meshcore_hub/common/schemas/nodes.py @@ -78,6 +78,7 @@ class AdoptedByUser(BaseModel): user_id: str = Field(..., description="OIDC subject identifier") name: Optional[str] = Field(default=None, description="User display name") callsign: Optional[str] = Field(default=None, description="Amateur radio callsign") + profile_id: str = Field(..., description="User profile UUID for profile links") class Config: from_attributes = True diff --git a/src/meshcore_hub/web/static/js/spa/pages/node-detail.js b/src/meshcore_hub/web/static/js/spa/pages/node-detail.js index 5fca300..7857fe9 100644 --- a/src/meshcore_hub/web/static/js/spa/pages/node-detail.js +++ b/src/meshcore_hub/web/static/js/spa/pages/node-detail.js @@ -303,7 +303,10 @@ function renderAdoptionSection(node, config) { return html`
${t('nodes.adopted_by', { name: ownerName })}
++ ${t('nodes.adopted_by_prefix')} + ${ownerName} +
${t('nodes.adopted_by', { name: ownerName })}
++ ${t('nodes.adopted_by_prefix')} + ${ownerName} +
${releaseBtnHtml}