feat(spec): pin org-feishu app binding to 1:1

- FeishuConnection.lean: FeishuAppBinding (appId + appSecretEnvelope)
- Organization.feishu: Option FeishuAppBinding (Option 自带 1:1)
- 删除 FeishuConnectionId (不再需要游离类型)
- FeishuProfile 删除 connection 字段 (由 org 隐含)
This commit is contained in:
2026-07-12 09:29:41 +08:00
parent e17e038232
commit 39bd2c9ff7
5 changed files with 30 additions and 5 deletions
+4 -1
View File
@@ -1,5 +1,6 @@
import Spec.Prelude
import Spec.System.User
import Spec.System.FeishuConnection
/-!
# Hierarchy —— 主体层级
@@ -23,10 +24,12 @@ structure Platform where
/-- 平台自有飞书应用(`PINNED`, ADR-0023)。 -/
application : I.PlatformFeishuApplicationId
/-- 组织(`PINNED`, ADR-0020)。project/team 必须归属且仅归属一个 org。
角色/tenancy/凭据见 `Spec.System.Organization`。 -/
飞书应用绑定 1:1(`Option` 自带),见 `FeishuConnection`。角色/tenancy/凭据见 `Spec.System.Organization`。 -/
structure Organization where
/-- 组织标识(`OPEN` 表示)。 -/
id : I.OrganizationId
/-- 飞书应用绑定(`PINNED`, 可选;1:1,每 org 至多一个)。 -/
feishu : Option (FeishuAppBinding I)
/-- 用户(`PINNED`, 租户层独立实体)。必属一个组织。飞书身份是绑定,见 `Spec.System.User`。 -/
structure User where