Fix team page

This commit is contained in:
Urtzi Alfaro
2025-09-12 23:58:26 +02:00
parent 4c21a5e1b2
commit 96da9ca077
4 changed files with 522 additions and 204 deletions

View File

@@ -330,7 +330,6 @@ async def add_team_member_enhanced(
)
@router.get("/tenants/{tenant_id}/members", response_model=List[TenantMemberResponse])
@track_endpoint_metrics("tenant_get_members")
async def get_team_members_enhanced(
tenant_id: UUID = Path(..., description="Tenant ID"),
active_only: bool = Query(True, description="Only return active members"),

View File

@@ -305,29 +305,32 @@ class EnhancedTenantService:
)
# Create membership using repository
membership_data = {
"tenant_id": tenant_id,
"user_id": user_id,
"role": role,
"invited_by": invited_by,
"is_active": True
}
member = await self.member_repo.create_membership(membership_data)
# Publish event
try:
await publish_member_added(tenant_id, user_id, role)
except Exception as e:
logger.warning("Failed to publish member added event", error=str(e))
logger.info("Team member added successfully",
tenant_id=tenant_id,
user_id=user_id,
role=role,
invited_by=invited_by)
return TenantMemberResponse.from_orm(member)
async with self.database_manager.get_session() as db_session:
await self._init_repositories(db_session)
membership_data = {
"tenant_id": tenant_id,
"user_id": user_id,
"role": role,
"invited_by": invited_by,
"is_active": True
}
member = await self.member_repo.create_membership(membership_data)
# Publish event
try:
await publish_member_added(tenant_id, user_id, role)
except Exception as e:
logger.warning("Failed to publish member added event", error=str(e))
logger.info("Team member added successfully",
tenant_id=tenant_id,
user_id=user_id,
role=role,
invited_by=invited_by)
return TenantMemberResponse.from_orm(member)
except HTTPException:
raise
@@ -359,12 +362,15 @@ class EnhancedTenantService:
"""Get all team members for a tenant"""
try:
members = await self.member_repo.get_tenant_members(
tenant_id, active_only=active_only
)
return [TenantMemberResponse.from_orm(member) for member in members]
async with self.database_manager.get_session() as session:
# Initialize repositories with session
await self._init_repositories(session)
members = await self.member_repo.get_tenant_members(
tenant_id, active_only=active_only
)
return [TenantMemberResponse.from_orm(member) for member in members]
except HTTPException:
raise