From 6faf9d0df2453f2f09e52fc16061d4910adaa800 Mon Sep 17 00:00:00 2001 From: Matthias Fischmann Date: Fri, 31 Jan 2025 15:43:07 +0100 Subject: [PATCH] Revert "Better use of EnterpriseLoginSubsystem interface." This reverts commit 7d439e6ca992d68dedde475c9a90273e9dc2a9ca. --- libs/wire-subsystems/src/Wire/TeamInvitationSubsystem/Error.hs | 2 ++ .../src/Wire/TeamInvitationSubsystem/Interpreter.hs | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/wire-subsystems/src/Wire/TeamInvitationSubsystem/Error.hs b/libs/wire-subsystems/src/Wire/TeamInvitationSubsystem/Error.hs index 4467dd3221f..82bbaa81fd4 100644 --- a/libs/wire-subsystems/src/Wire/TeamInvitationSubsystem/Error.hs +++ b/libs/wire-subsystems/src/Wire/TeamInvitationSubsystem/Error.hs @@ -13,6 +13,7 @@ data TeamInvitationSubsystemError | TooManyTeamInvitations | TeamInvitationBlacklistedEmail | TeamInvitationEmailTaken + | TeamInvitationInvalidEmail | TeamInvitationNotAllowedForEmail deriving (Eq, Show) @@ -26,4 +27,5 @@ teamInvitationErrorToHttpError = TooManyTeamInvitations -> errorToWai @E.TooManyTeamInvitations TeamInvitationBlacklistedEmail -> errorToWai @E.BlacklistedEmail TeamInvitationEmailTaken -> errorToWai @E.EmailExists + TeamInvitationInvalidEmail -> errorToWai @E.InvalidEmail TeamInvitationNotAllowedForEmail -> Wai.mkError status403 "condition-failed" "Emails from this domain are not allowed to be invited to this team" diff --git a/libs/wire-subsystems/src/Wire/TeamInvitationSubsystem/Interpreter.hs b/libs/wire-subsystems/src/Wire/TeamInvitationSubsystem/Interpreter.hs index 93b42ecb951..c9b9834c880 100644 --- a/libs/wire-subsystems/src/Wire/TeamInvitationSubsystem/Interpreter.hs +++ b/libs/wire-subsystems/src/Wire/TeamInvitationSubsystem/Interpreter.hs @@ -272,7 +272,8 @@ guardEmailDomainRegistration :: EmailAddress -> Sem r () guardEmailDomainRegistration invitationFlow tid email = do - mReg <- getDomainRegistrationByEmail email + domain <- mapError (const TeamInvitationInvalidEmail) $ fromEither $ emailDomain email + mReg <- getDomainRegistration domain for_ mReg $ \reg -> do -- Check if domain has certain restrictions case reg.domainRedirect of