@@ -387,8 +387,6 @@ async def _reject_login_if_user_has_no_usable_access(
387387 # qualifies for login. Without bypass, every DAO below trips
388388 # NoTenantContextError because do_orm_execute can't infer a tenant for
389389 # tenant-aware tables (userrole/department/usergroup/roleaccess).
390- from bisheng .core .context .tenant import bypass_tenant_filter
391-
392390 with bypass_tenant_filter ():
393391 if role_ids is None :
394392 roles = await UserRoleDao .aget_user_roles (db_user .user_id )
@@ -479,7 +477,10 @@ async def user_login(cls, request: Request, user: UserLogin, auth_jwt: AuthJwt =
479477 NoTenantsAvailableError ,
480478 TenantDisabledError ,
481479 )
482- from bisheng .core .context .tenant import DEFAULT_TENANT_ID , bypass_tenant_filter
480+ from bisheng .database .models .department import (
481+ UserDepartmentDao ,
482+ )
483+ from bisheng .database .models .tenant import TenantDao , UserTenantDao
483484
484485 # Reject login when the user's primary department mounts to a
485486 # disabled child tenant. TenantResolver intentionally walks past
@@ -488,11 +489,6 @@ async def user_login(cls, request: Request, user: UserLogin, auth_jwt: AuthJwt =
488489 # treats it as a member-level freeze. Without this guard a member
489490 # of a disabled tenant would get fallback-routed to Root and log
490491 # in normally, which contradicts the operator's intent.
491- from bisheng .database .models .department import (
492- UserDepartmentDao ,
493- )
494- from bisheng .database .models .tenant import TenantDao , UserTenantDao
495-
496492 with bypass_tenant_filter ():
497493 primary_dept = await UserDepartmentDao .aget_user_primary_department (
498494 db_user .user_id ,
@@ -571,7 +567,6 @@ async def user_login(cls, request: Request, user: UserLogin, auth_jwt: AuthJwt =
571567 # DB.status is authoritative; Redis blacklist is a defensive cross-check.
572568 if settings .multi_tenant .enabled and tenant_id and tenant_id > 0 :
573569 from bisheng .common .errcode .tenant import TenantDisabledError
574- from bisheng .core .context .tenant import bypass_tenant_filter
575570 from bisheng .database .models .tenant import TenantDao
576571
577572 with bypass_tenant_filter ():
@@ -656,7 +651,6 @@ async def user_login(cls, request: Request, user: UserLogin, auth_jwt: AuthJwt =
656651 extra_fields ["tenant_id" ] = tenant_id
657652 tenant_info = next ((t for t in (tenants_list or []) if t .get ("tenant_id" ) == tenant_id ), None )
658653 if not tenant_info and settings .multi_tenant .enabled :
659- from bisheng .core .context .tenant import bypass_tenant_filter
660654 from bisheng .database .models .tenant import TenantDao
661655
662656 with bypass_tenant_filter ():
0 commit comments