Add subcription feature 3
This commit is contained in:
@@ -5,15 +5,13 @@ Business logic services for authentication and user management
|
||||
|
||||
from .auth_service import AuthService
|
||||
from .auth_service import EnhancedAuthService
|
||||
from .user_service import UserService
|
||||
from .auth_service import EnhancedUserService
|
||||
from .user_service import EnhancedUserService
|
||||
from .auth_service_clients import AuthServiceClientFactory
|
||||
from .admin_delete import AdminUserDeleteService
|
||||
|
||||
__all__ = [
|
||||
"AuthService",
|
||||
"EnhancedAuthService",
|
||||
"UserService",
|
||||
"EnhancedUserService",
|
||||
"AuthServiceClientFactory",
|
||||
"AdminUserDeleteService"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -43,7 +43,7 @@ class AuthTenantServiceClient(BaseServiceClient):
|
||||
result = await self.get(f"tenants/user/{user_id}")
|
||||
return result.get("memberships", []) if result else []
|
||||
except Exception as e:
|
||||
logger.error("Failed to get user tenants", user_id=user_id, error=str(e))
|
||||
logger.error(f"Failed to get user tenants: {str(e)}, user_id: {user_id}")
|
||||
return []
|
||||
|
||||
async def get_user_owned_tenants(self, user_id: str) -> Optional[List[Dict[str, Any]]]:
|
||||
@@ -54,7 +54,7 @@ class AuthTenantServiceClient(BaseServiceClient):
|
||||
return [m for m in memberships if m.get('role') == 'owner']
|
||||
return []
|
||||
except Exception as e:
|
||||
logger.error("Failed to get owned tenants", user_id=user_id, error=str(e))
|
||||
logger.error(f"Failed to get owned tenants: {str(e)}, user_id: {user_id}")
|
||||
return []
|
||||
|
||||
async def transfer_tenant_ownership(
|
||||
@@ -81,7 +81,7 @@ class AuthTenantServiceClient(BaseServiceClient):
|
||||
try:
|
||||
return await self.delete(f"tenants/{tenant_id}")
|
||||
except Exception as e:
|
||||
logger.error("Failed to delete tenant", tenant_id=tenant_id, error=str(e))
|
||||
logger.error(f"Failed to delete tenant: {str(e)}, tenant_id: {tenant_id}")
|
||||
return None
|
||||
|
||||
async def delete_user_memberships(self, user_id: str) -> Optional[Dict[str, Any]]:
|
||||
@@ -89,7 +89,7 @@ class AuthTenantServiceClient(BaseServiceClient):
|
||||
try:
|
||||
return await self.delete(f"/tenants/user/{user_id}/memberships")
|
||||
except Exception as e:
|
||||
logger.error("Failed to delete user memberships", user_id=user_id, error=str(e))
|
||||
logger.error(f"Failed to delete user memberships: {str(e)}, user_id: {user_id}")
|
||||
return None
|
||||
|
||||
async def get_tenant_members(self, tenant_id: str) -> Optional[List[Dict[str, Any]]]:
|
||||
@@ -98,7 +98,7 @@ class AuthTenantServiceClient(BaseServiceClient):
|
||||
result = await self.get(f"tenants/{tenant_id}/members")
|
||||
return result.get("members", []) if result else []
|
||||
except Exception as e:
|
||||
logger.error("Failed to get tenant members", tenant_id=tenant_id, error=str(e))
|
||||
logger.error(f"Failed to get tenant members: {str(e)}, tenant_id: {tenant_id}")
|
||||
return []
|
||||
|
||||
async def check_tenant_has_other_admins(self, tenant_id: str, excluding_user_id: str) -> bool:
|
||||
|
||||
@@ -34,28 +34,29 @@ class EnhancedUserService:
|
||||
if session:
|
||||
# Use provided session (for direct session injection)
|
||||
user_repo = UserRepository(User, session)
|
||||
user = await user_repo.get_by_id(user_id)
|
||||
else:
|
||||
# Use database manager to get session
|
||||
async with self.database_manager.get_session() as session:
|
||||
user_repo = UserRepository(User, session)
|
||||
|
||||
user = await user_repo.get_by_id(user_id)
|
||||
async with self.database_manager.get_session() as db_session:
|
||||
user_repo = UserRepository(User, db_session)
|
||||
user = await user_repo.get_by_id(user_id)
|
||||
|
||||
if not user:
|
||||
return None
|
||||
|
||||
|
||||
return UserResponse(
|
||||
id=str(user.id),
|
||||
email=user.email,
|
||||
full_name=user.full_name,
|
||||
is_active=user.is_active,
|
||||
is_verified=user.is_verified,
|
||||
created_at=user.created_at,
|
||||
role=user.role,
|
||||
phone=getattr(user, 'phone', None),
|
||||
language=getattr(user, 'language', None),
|
||||
timezone=getattr(user, 'timezone', None)
|
||||
)
|
||||
|
||||
created_at=user.created_at,
|
||||
role=user.role,
|
||||
phone=getattr(user, 'phone', None),
|
||||
language=getattr(user, 'language', None),
|
||||
timezone=getattr(user, 'timezone', None)
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
logger.error("Failed to get user by ID using repository pattern",
|
||||
user_id=user_id,
|
||||
@@ -521,6 +522,3 @@ class EnhancedUserService:
|
||||
error=str(e))
|
||||
return {"error": str(e)}
|
||||
|
||||
|
||||
# Legacy compatibility - alias EnhancedUserService as UserService
|
||||
UserService = EnhancedUserService
|
||||
|
||||
Reference in New Issue
Block a user