diff --git a/src/crud/peer_card.py b/src/crud/peer_card.py index fded2ad9..254cdb4e 100644 --- a/src/crud/peer_card.py +++ b/src/crud/peer_card.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging from typing import cast -from sqlalchemy import update +from sqlalchemy import select, update from sqlalchemy.ext.asyncio import AsyncSession from src import models, schemas @@ -34,10 +34,13 @@ async def get_peer_card( Returns: The peer's card text if present, otherwise None (also None if peer not found). """ - result = await get_or_create_peers( - db, workspace_name, [schemas.PeerCreate(name=observer)] + peer = await db.scalar( + select(models.Peer) + .where(models.Peer.workspace_name == workspace_name) + .where(models.Peer.name == observer) ) - peer = result.resource[0] + if peer is None: + return None return cast( list[str] | None, peer.internal_metadata.get(