From 1193aa94396b109a15ec1446e6c40077c82b4951 Mon Sep 17 00:00:00 2001 From: Zayden Jung Date: Sun, 17 May 2026 22:44:28 +0800 Subject: [PATCH] enrich the invitation link and related informationev --- app/models/workspace.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/models/workspace.py b/app/models/workspace.py index c380a06..61b057a 100644 --- a/app/models/workspace.py +++ b/app/models/workspace.py @@ -19,9 +19,18 @@ class WorkspaceMember(Base, AutoID): workspace_id = Column(String(32), ForeignKey("workspaces.id", ondelete="CASCADE"), index=True) user_id = Column(String(32), ForeignKey("users.id", ondelete="CASCADE"), index=True) + + # 允许 user_id 为空,因为被邀请的人可能还没注册系统,我们先记录他的邮箱 + user_id = Column(String(32), ForeignKey("users.id", ondelete="CASCADE"), nullable=True, index=True) + invite_email = Column(String, nullable=True) # 收到邀请的邮箱 + # 状态:'pending' (等待加入), 'active' (已加入), 'disabled' (已禁用) + status = Column(String, default="pending", nullable=False) # 角色权限:'owner' (所有者), 'admin' (管理员), 'user' (普通用户) role = Column(String, default="user", nullable=False) + + invite_token = Column(String, nullable=True, unique=True) + token_expires_at = Column(DateTime(timezone=True), nullable=True) created_at = Column(DateTime(timezone=True), server_default=func.now())