fix(cloud): preserve Core-owned collaboration state

This commit is contained in:
dadachann
2026-07-26 12:27:47 +08:00
parent 97b3e58884
commit 94ff4fcd2d
4 changed files with 58 additions and 1 deletions
+4
View File
@@ -234,6 +234,10 @@ class UserService:
"""Create an invited Account and accept its Membership in one transaction."""
normalized_email = normalize_email(user_email)
if self._uses_control_plane_directory():
raise ControlPlaneDirectoryRequiredError(
'Cloud invitation registration must use a Space account to preserve control-plane identity'
)
invitation, _ = await self.ap.workspace_collaboration_service.inspect_invitation(invitation_token)
if invitation.normalized_email != normalized_email:
from ....workspace.collaboration import InvitationEmailMismatchError