fix: auto-fix code issues (cron)

- 修复重复导入/字段
- 修复异常处理
- 修复PEP8格式问题
- 添加类型注解
This commit is contained in:
OpenClaw Bot
2026-02-28 09:15:51 +08:00
parent 74c2daa5ef
commit 1a9b5391f7
37 changed files with 1112 additions and 19 deletions

View File

@@ -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