From cbcf23e316f6c2f410c15037648d3c19cc20847b Mon Sep 17 00:00:00 2001 From: Saku Laesvuori Date: Fri, 29 Sep 2023 09:56:44 +0300 Subject: [PATCH] Fix email verification --- backend/src/Datarekisteri/Backend/DB/Queries.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/src/Datarekisteri/Backend/DB/Queries.hs b/backend/src/Datarekisteri/Backend/DB/Queries.hs index 6990e5d..d31578f 100644 --- a/backend/src/Datarekisteri/Backend/DB/Queries.hs +++ b/backend/src/Datarekisteri/Backend/DB/Queries.hs @@ -96,10 +96,11 @@ isMember user = not_ $ isApplicant user verifyEmailSecret :: MonadDB m => Text -> m Bool verifyEmailSecret secret = runQuery $ do update $ \email -> do - verification <- from $ table @DBEmailVerification set email [DBEmailVid =. val Nothing] - where_ $ email ^. DBEmailVid ==. just (verification ^. DBEmailVerificationId) - &&. verification ^. DBEmailVerificationSecret ==. val secret + where_ $ (>. val (0 :: Int)) $ subSelectCount $ do + verification <- from $ table @DBEmailVerification + where_ $ email ^. DBEmailVid ==. just (verification ^. DBEmailVerificationId) + &&. verification ^. DBEmailVerificationSecret ==. val secret fmap (> 0) $ deleteCount $ do verification <- from (table @DBEmailVerification) where_ $ verification ^. DBEmailVerificationSecret ==. val secret