New alert service
This commit is contained in:
@@ -140,6 +140,49 @@ async def update_tenant(
|
||||
detail="Tenant update failed"
|
||||
)
|
||||
|
||||
@router.get(route_builder.build_base_route("user/{user_id}/tenants", include_tenant_prefix=False), response_model=List[TenantResponse])
|
||||
@track_endpoint_metrics("user_tenants_list")
|
||||
async def get_user_tenants(
|
||||
user_id: str = Path(..., description="User ID"),
|
||||
current_user: Dict[str, Any] = Depends(get_current_user_dep),
|
||||
tenant_service: EnhancedTenantService = Depends(get_enhanced_tenant_service)
|
||||
):
|
||||
"""Get all tenants accessible by a user"""
|
||||
|
||||
logger.info(
|
||||
"Get user tenants request received",
|
||||
user_id=user_id,
|
||||
requesting_user=current_user.get("user_id")
|
||||
)
|
||||
|
||||
if current_user.get("user_id") != user_id and current_user.get("type") != "service":
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_403_FORBIDDEN,
|
||||
detail="Can only access own tenants"
|
||||
)
|
||||
|
||||
try:
|
||||
tenants = await tenant_service.get_user_tenants(user_id)
|
||||
|
||||
logger.debug(
|
||||
"Get user tenants successful",
|
||||
user_id=user_id,
|
||||
tenant_count=len(tenants)
|
||||
)
|
||||
|
||||
return tenants
|
||||
|
||||
except HTTPException:
|
||||
raise
|
||||
except Exception as e:
|
||||
logger.error("Get user tenants failed",
|
||||
user_id=user_id,
|
||||
error=str(e))
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||||
detail="Failed to get user tenants"
|
||||
)
|
||||
|
||||
@router.delete(route_builder.build_base_route("{tenant_id}", include_tenant_prefix=False))
|
||||
@track_endpoint_metrics("tenant_delete")
|
||||
async def delete_tenant(
|
||||
|
||||
Reference in New Issue
Block a user