diff --git a/packages/domain/entities.py b/packages/domain/entities.py index 95bb6db0c..f86a75d8c 100644 --- a/packages/domain/entities.py +++ b/packages/domain/entities.py @@ -52,6 +52,25 @@ class Workspace: created_at: datetime = field(default_factory=lambda: datetime.now(timezone.utc)) +class WorkspaceMemberRole(StrEnum): + """工作空间成员角色""" + OWNER = "owner" # 所有者(创建者,唯一) + ADMIN = "admin" # 管理员(可管理成员和项目) + MEMBER = "member" # 成员(可创建和编辑项目) + VIEWER = "viewer" # 查看者(只读) + + +@dataclass(slots=True) +class WorkspaceMember: + """工作空间成员""" + id: str + workspace_id: str + user_id: str + role: str # owner, admin, member, viewer + invited_by: str | None = None # 邀请人 user_id + joined_at: datetime = field(default_factory=lambda: datetime.now(timezone.utc)) + + @dataclass(slots=True) class Project: id: str