feat(asyncify): migrate retrieve group (#2494)

This commit is contained in:
cthomas
2025-05-28 14:13:02 -07:00
committed by GitHub
parent aecd4d1e3b
commit f7a0013f94
2 changed files with 10 additions and 3 deletions

View File

@@ -52,7 +52,7 @@ def count_groups(
@router.get("/{group_id}", response_model=Group, operation_id="retrieve_group")
def retrieve_group(
async def retrieve_group(
group_id: str,
server: "SyncServer" = Depends(get_letta_server),
actor_id: Optional[str] = Header(None, alias="user_id"),
@@ -60,10 +60,10 @@ def retrieve_group(
"""
Retrieve the group by id.
"""
actor = server.user_manager.get_user_or_default(user_id=actor_id)
actor = await server.user_manager.get_actor_or_default_async(actor_id=actor_id)
try:
return server.group_manager.retrieve_group(group_id=group_id, actor=actor)
return await server.group_manager.retrieve_group_async(group_id=group_id, actor=actor)
except NoResultFound as e:
raise HTTPException(status_code=404, detail=str(e))

View File

@@ -52,6 +52,13 @@ class GroupManager:
group = GroupModel.read(db_session=session, identifier=group_id, actor=actor)
return group.to_pydantic()
@trace_method
@enforce_types
async def retrieve_group_async(self, group_id: str, actor: PydanticUser) -> PydanticGroup:
async with db_registry.async_session() as session:
group = await GroupModel.read_async(db_session=session, identifier=group_id, actor=actor)
return group.to_pydantic()
@trace_method
@enforce_types
def create_group(self, group: GroupCreate, actor: PydanticUser) -> PydanticGroup: