feat: add tenant-scoped rule and permission management

This commit is contained in:
wren
2026-05-21 22:03:08 +08:00
parent a2c2bf1969
commit 1f1bccf3b3
193 changed files with 64463 additions and 1771 deletions
@@ -34,6 +34,11 @@ class LeauditAuditRun(BaseModel):
ruleSourceOssUrl: Mapped[str | None] = mapped_column("rule_source_oss_url", String(2048), comment="规则 YAML OSS 地址")
ruleSourceSha256: Mapped[str | None] = mapped_column("rule_source_sha256", String(64), comment="规则文件 SHA256")
ruleLocalCachePath: Mapped[str | None] = mapped_column("rule_local_cache_path", String(1024), comment="本地缓存路径")
tenantCode: Mapped[str | None] = mapped_column("tenant_code", String(64), comment="所属租户编码快照")
tenantNameSnapshot: Mapped[str | None] = mapped_column("tenant_name_snapshot", String(255), comment="所属租户名称快照")
scopeTypeSnapshot: Mapped[str | None] = mapped_column("scope_type_snapshot", String(32), comment="规则作用域快照")
groupIdSnapshot: Mapped[int | None] = mapped_column("group_id_snapshot", BigInteger, comment="运行命中的业务组快照")
ruleBindingIdSnapshot: Mapped[int | None] = mapped_column("rule_binding_id_snapshot", BigInteger, comment="命中的规则绑定快照")
# 模型快照
engineVersion: Mapped[str | None] = mapped_column("engine_version", String(64))
@@ -25,6 +25,7 @@ class LeauditDocument(BaseModel):
processingStatus: Mapped[str | None] = mapped_column("processing_status", String(64), default="waiting", comment="waiting/processing/completed/failed")
currentRunId: Mapped[int | None] = mapped_column("current_run_id", BigInteger, comment="最新有效 run id")
region: Mapped[str] = mapped_column(String(32), default="default", comment="所属地区: mz/yf/jy/cz/default")
tenantCode: Mapped[str | None] = mapped_column("tenant_code", String(64), comment="所属租户编码")
versionGroupKey: Mapped[str | None] = mapped_column("version_group_key", String(64), comment="文档版本归档组键")
versionNo: Mapped[int] = mapped_column("version_no", Integer, default=1, comment="同一文档系列中的版本号")
previousVersionId: Mapped[int | None] = mapped_column("previous_version_id", BigInteger, comment="上一版本文档ID")
@@ -13,6 +13,7 @@ class LeauditRagChatApp(BaseModel):
name: Mapped[str] = mapped_column(String(255))
description: Mapped[str] = mapped_column(Text, default="")
area: Mapped[str] = mapped_column(String(50), default="")
tenantCode: Mapped[str | None] = mapped_column("tenant_code", String(64))
datasetId: Mapped[int | None] = mapped_column("dataset_id", BigInteger)
systemPrompt: Mapped[str] = mapped_column("system_prompt", Text, default="")
llmModel: Mapped[str] = mapped_column("llm_model", String(100), default="")
@@ -14,6 +14,7 @@ class LeauditRagDataset(BaseModel):
name: Mapped[str] = mapped_column(String(255), comment="知识库名称")
description: Mapped[str] = mapped_column(Text, default="", comment="知识库描述")
area: Mapped[str] = mapped_column(String(50), default="", comment="地区")
tenantCode: Mapped[str | None] = mapped_column("tenant_code", String(64), comment="所属租户编码")
isPublic: Mapped[bool] = mapped_column("is_public", Boolean, default=False)
isDefault: Mapped[bool] = mapped_column("is_default", Boolean, default=False)
collectionName: Mapped[str] = mapped_column("collection_name", String(100), unique=True)