@@ -259,6 +259,16 @@ async def get_all_plans(self) -> List[Plan]:
259259 ]
260260 return await self .query_items (query , parameters , Plan )
261261
262+ async def get_all_plans_by_team_id (self , team_id : str ) -> List [Plan ]:
263+ """Retrieve all plans for a specific team."""
264+ query = "SELECT * FROM c WHERE c.team_id=@team_id AND c.data_type=@data_type and c.user_id=@user_id"
265+ parameters = [
266+ {"name" : "@user_id" , "value" : self .user_id },
267+ {"name" : "@team_id" , "value" : team_id },
268+ {"name" : "@data_type" , "value" : "plan" },
269+ ]
270+ return await self .query_items (query , parameters , Plan )
271+
262272 # Step Operations
263273 async def add_step (self , step : Step ) -> None :
264274 """Add a step to CosmosDB."""
@@ -434,23 +444,22 @@ async def update_team(self, team: TeamConfiguration) -> None:
434444 """
435445 await self .update_item (team )
436446
437- async def get_current_team (self , user_id : str , team_id : str ) -> UserCurrentTeam :
447+ async def get_current_team (self , user_id : str ) -> Optional [ UserCurrentTeam ] :
438448 """Retrieve the current team for a user."""
439449 await self ._ensure_initialized ()
440450 if self .container is None :
441451 return None
442452
443- query = "SELECT * FROM c WHERE c.user_id=@user_id AND c.is_default=true "
453+ query = "SELECT * FROM c WHERE c.data_type=@data_type AND c.user_id=@user_id "
444454 parameters = [
455+ {"name" : "@data_type" , "value" : "user_current_team" },
445456 {"name" : "@user_id" , "value" : user_id },
446- {"name" : "@team_id" , "value" : team_id },
447457 ]
448458
449- items = self . container . query_items ( query = query , parameters = parameters )
450- async for item in items :
451- return UserCurrentTeam ( ** item )
459+ # Get the appropriate model class
460+ teams = await self . query_items ( query , parameters , UserCurrentTeam )
461+ return teams [ 0 ] if teams else None
452462
453- return None
454463 async def set_current_team (self , current_team : UserCurrentTeam ) -> None :
455464 """Set the current team for a user."""
456465 await self ._ensure_initialized ()
0 commit comments