From fb69b58f92224519b52b7cc0ffa0b2cd83e62b1f Mon Sep 17 00:00:00 2001 From: Saku Laesvuori Date: Thu, 28 Sep 2023 09:36:02 +0300 Subject: [PATCH] Refactor sending email for easier currying --- backend/src/Datarekisteri/Backend/API.hs | 2 +- backend/src/Datarekisteri/Backend/Email.hs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/src/Datarekisteri/Backend/API.hs b/backend/src/Datarekisteri/Backend/API.hs index 2a8888b..2c9a72a 100644 --- a/backend/src/Datarekisteri/Backend/API.hs +++ b/backend/src/Datarekisteri/Backend/API.hs @@ -143,7 +143,7 @@ sendVerificationSecret email = void $ do maybeDBEmail <- runQuery $ get email let email = dBEmailEmail <$> maybeDBEmail secret = dBEmailVerificationSecret =<< maybeDBEmail - args = (,) <$> email <*> secret + args = (,) <$> secret <*> email maybe (pure ()) (uncurry sendVerificationEmail) args updateUser :: (MonadRandom m, MonadDB m, MonadEmail m, MonadError GQLError m) => diff --git a/backend/src/Datarekisteri/Backend/Email.hs b/backend/src/Datarekisteri/Backend/Email.hs index 1ce4bac..046ab31 100644 --- a/backend/src/Datarekisteri/Backend/Email.hs +++ b/backend/src/Datarekisteri/Backend/Email.hs @@ -8,22 +8,22 @@ import Data.Text.Lazy (fromStrict) import Datarekisteri.Core.Types import Network.Mail.Mime -sendDatarekisteriEmail :: MonadEmail m => Email -> Text -> Text -> m () -sendDatarekisteriEmail to subject content = do +sendDatarekisteriEmail :: MonadEmail m => Text -> Text -> Email -> m () +sendDatarekisteriEmail subject content to = do from <- fromAddress sendEmail $ simpleMail' (Address Nothing $ renderEmail to) from subject $ fromStrict content -sendVerificationEmail :: MonadEmail m => Email -> Text -> m () -sendVerificationEmail to secret = sendDatarekisteriEmail to "Sähköpostin vahvistuskoodi" $ +sendVerificationEmail :: MonadEmail m => Text -> Email -> m () +sendVerificationEmail secret = sendDatarekisteriEmail "Sähköpostin vahvistuskoodi" $ "Vahvista sähköpostisi syöttämällä alla oleva koodi rekisteriin:\n\n" <> secret <> "\n\n" <> "Mikäli et odottanut tätä viestiä, voit jättää sen turvallisesti huomiotta." sendApplicationAcceptedEmail :: MonadEmail m => Email -> m () -sendApplicationAcceptedEmail to = sendDatarekisteriEmail to "Jäsenhakemus hyväksytty" $ +sendApplicationAcceptedEmail = sendDatarekisteriEmail "Jäsenhakemus hyväksytty" $ "Jäsenhakemuksesi Datat RY:lle on hyväksytty. Olet nyt yhdistyksen jäsen." sendApplicationRejectedEmail :: MonadEmail m => Email -> m () -sendApplicationRejectedEmail to = sendDatarekisteriEmail to "Jäsenhakemus hylätty" $ +sendApplicationRejectedEmail = sendDatarekisteriEmail "Jäsenhakemus hylätty" $ "Jäsenhakemuksesi Datat RY:lle on hylätty. Voit halutessasi kysyä hakemuksen" <> " hylkäämisen syistä yhdistyksen hallitukselta ."