forked from bai/curriculum-project-hub
38c3231190
- Connections/Prelude.lean: ConnectionProvider 枚举 (当前仅飞书) - Connections/Feishu.lean: FeishuAppBinding + FeishuProfile - Connections.lean: ConnectionBinding/ConnectionProfile inductive - Organization.feishu → connections: List ConnectionBinding - User.feishu → connections: List ConnectionProfile - 删除 FeishuConnection.lean
32 lines
861 B
Lean4
32 lines
861 B
Lean4
import Spec.Prelude
|
|
|
|
/-!
|
|
# Feishu —— 飞书连接
|
|
|
|
组织绑定一个飞书企业应用(1:1)。用户经此应用登录、调飞书 API。
|
|
-/
|
|
|
|
namespace Spec.System
|
|
|
|
variable (I : Identifiers)
|
|
|
|
/-- 组织的飞书应用绑定(`PINNED`, 1:1)。 -/
|
|
structure FeishuAppBinding where
|
|
/-- 飞书企业应用 app_id(`OPEN` 表示)。 -/
|
|
appId : I.FeishuAppId
|
|
/-- app_secret 信封引用(`PINNED`, ADR-0024)。 -/
|
|
appSecretEnvelope : I.FeishuAppSecretRef
|
|
|
|
/-- 用户的飞书信息(`PINNED`)。 -/
|
|
structure FeishuProfile where
|
|
/-- 应用内身份(`OPEN`);调 API 的直接句柄,换应用即变。 -/
|
|
openId : I.FeishuOpenId
|
|
/-- 租户内身份(`OPEN`);换应用不变,比 open_id 稳定。 -/
|
|
userId : I.FeishuUserId
|
|
/-- 显示名(`OPEN`)。 -/
|
|
name : Option String
|
|
/-- 头像 URL(`OPEN`)。 -/
|
|
avatarUrl : Option String
|
|
|
|
end Spec.System
|