New token arch
This commit is contained in:
@@ -771,6 +771,43 @@ class EnhancedTenantService:
|
||||
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||||
detail="Failed to remove team member"
|
||||
)
|
||||
|
||||
async def get_user_memberships(self, user_id: str) -> List[Dict[str, Any]]:
|
||||
"""Get all tenant memberships for a user (for authentication service)"""
|
||||
try:
|
||||
async with self.database_manager.get_session() as db_session:
|
||||
await self._init_repositories(db_session)
|
||||
|
||||
# Get all user memberships
|
||||
memberships = await self.member_repo.get_user_memberships(user_id, active_only=False)
|
||||
|
||||
# Convert to response format
|
||||
result = []
|
||||
for membership in memberships:
|
||||
result.append({
|
||||
"id": str(membership.id),
|
||||
"tenant_id": str(membership.tenant_id),
|
||||
"user_id": str(membership.user_id),
|
||||
"role": membership.role,
|
||||
"is_active": membership.is_active,
|
||||
"joined_at": membership.joined_at.isoformat() if membership.joined_at else None,
|
||||
"invited_by": str(membership.invited_by) if membership.invited_by else None
|
||||
})
|
||||
|
||||
logger.info("Retrieved user memberships",
|
||||
user_id=user_id,
|
||||
membership_count=len(result))
|
||||
|
||||
return result
|
||||
|
||||
except Exception as e:
|
||||
logger.error("Failed to get user memberships",
|
||||
user_id=user_id,
|
||||
error=str(e))
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||||
detail="Failed to get user memberships"
|
||||
)
|
||||
|
||||
async def update_model_status(
|
||||
self,
|
||||
|
||||
Reference in New Issue
Block a user