Skip to content

Commit 6594be6

Browse files
committed
Fix the bug in get_user_teams
1 parent 9179078 commit 6594be6

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

transformerlab/routers/auth2.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from fastapi import APIRouter, Depends, HTTPException
2-
from transformerlab.shared.models.user_model import User, Team, UserTeam, get_async_session
2+
from transformerlab.shared.models.user_model import User, Team, UserTeam, get_async_session, create_default_team
33
from transformerlab.models.users import (
44
fastapi_users,
55
auth_backend,
@@ -92,7 +92,24 @@ async def refresh_access_token(
9292

9393
@router.get("/users/me/teams")
9494
async def get_user_teams(user: User = Depends(current_active_user), session: AsyncSession = Depends(get_async_session)):
95-
stmt = select(Team).join(UserTeam).where(UserTeam.user_id == str(user.id))
95+
# Check if user has any team associations
96+
stmt = select(UserTeam).where(UserTeam.user_id == str(user.id))
97+
result = await session.execute(stmt)
98+
user_teams = result.scalars().all()
99+
100+
# If user has no team associations, assign them to default team
101+
if not user_teams:
102+
default_team = await create_default_team(session)
103+
user_team = UserTeam(user_id=str(user.id), team_id=default_team.id)
104+
session.add(user_team)
105+
await session.commit()
106+
await session.refresh(user_team)
107+
return {"user_id": str(user.id), "teams": [{"id": default_team.id, "name": default_team.name}]}
108+
109+
# User has team associations, get the actual team objects
110+
team_ids = [ut.team_id for ut in user_teams]
111+
stmt = select(Team).where(Team.id.in_(team_ids))
96112
result = await session.execute(stmt)
97113
teams = result.scalars().all()
114+
98115
return {"user_id": str(user.id), "teams": [{"id": team.id, "name": team.name} for team in teams]}

0 commit comments

Comments
 (0)