fix: auto-fix code issues (cron)
- 修复重复导入/字段 - 修复异常处理 - 修复PEP8格式问题 - 添加类型注解
This commit is contained in:
@@ -23,6 +23,7 @@ from typing import Any
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TenantLimits:
|
||||
"""租户资源限制常量"""
|
||||
|
||||
@@ -42,6 +43,7 @@ class TenantLimits:
|
||||
|
||||
UNLIMITED = -1
|
||||
|
||||
|
||||
class TenantStatus(StrEnum):
|
||||
"""租户状态"""
|
||||
|
||||
@@ -51,6 +53,7 @@ class TenantStatus(StrEnum):
|
||||
EXPIRED = "expired" # 过期
|
||||
PENDING = "pending" # 待激活
|
||||
|
||||
|
||||
class TenantTier(StrEnum):
|
||||
"""租户订阅层级"""
|
||||
|
||||
@@ -58,6 +61,7 @@ class TenantTier(StrEnum):
|
||||
PRO = "pro" # 专业版
|
||||
ENTERPRISE = "enterprise" # 企业版
|
||||
|
||||
|
||||
class TenantRole(StrEnum):
|
||||
"""租户角色"""
|
||||
|
||||
@@ -66,6 +70,7 @@ class TenantRole(StrEnum):
|
||||
MEMBER = "member" # 成员
|
||||
VIEWER = "viewer" # 查看者
|
||||
|
||||
|
||||
class DomainStatus(StrEnum):
|
||||
"""域名状态"""
|
||||
|
||||
@@ -74,6 +79,7 @@ class DomainStatus(StrEnum):
|
||||
FAILED = "failed" # 验证失败
|
||||
EXPIRED = "expired" # 已过期
|
||||
|
||||
|
||||
@dataclass
|
||||
class Tenant:
|
||||
"""租户数据类"""
|
||||
@@ -92,6 +98,7 @@ class Tenant:
|
||||
resource_limits: dict[str, Any] # 资源限制
|
||||
metadata: dict[str, Any] # 元数据
|
||||
|
||||
|
||||
@dataclass
|
||||
class TenantDomain:
|
||||
"""租户域名数据类"""
|
||||
@@ -109,6 +116,7 @@ class TenantDomain:
|
||||
ssl_enabled: bool # SSL 是否启用
|
||||
ssl_expires_at: datetime | None
|
||||
|
||||
|
||||
@dataclass
|
||||
class TenantBranding:
|
||||
"""租户品牌配置数据类"""
|
||||
@@ -126,6 +134,7 @@ class TenantBranding:
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
@dataclass
|
||||
class TenantMember:
|
||||
"""租户成员数据类"""
|
||||
@@ -142,6 +151,7 @@ class TenantMember:
|
||||
last_active_at: datetime | None
|
||||
status: str # active/pending/suspended
|
||||
|
||||
|
||||
@dataclass
|
||||
class TenantPermission:
|
||||
"""租户权限定义数据类"""
|
||||
@@ -156,6 +166,7 @@ class TenantPermission:
|
||||
conditions: dict | None # 条件限制
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class TenantManager:
|
||||
"""租户管理器 - 多租户 SaaS 架构核心"""
|
||||
|
||||
@@ -1599,8 +1610,10 @@ class TenantManager:
|
||||
status=row["status"],
|
||||
)
|
||||
|
||||
|
||||
# ==================== 租户上下文管理 ====================
|
||||
|
||||
|
||||
class TenantContext:
|
||||
"""租户上下文管理器 - 用于请求级别的租户隔离"""
|
||||
|
||||
@@ -1633,9 +1646,11 @@ class TenantContext:
|
||||
cls._current_tenant_id = None
|
||||
cls._current_user_id = None
|
||||
|
||||
|
||||
# 全局租户管理器实例
|
||||
tenant_manager = None
|
||||
|
||||
|
||||
def get_tenant_manager(db_path: str = "insightflow.db") -> TenantManager:
|
||||
"""获取租户管理器实例(单例模式)"""
|
||||
global tenant_manager
|
||||
|
||||
Reference in New Issue
Block a user