25 lines
1016 B
Haskell
25 lines
1016 B
Haskell
module Jobs.Handler.SendNotification.Utils
|
|
( mkEditNotifications
|
|
, ihamletSomeMessage
|
|
) where
|
|
|
|
import Import
|
|
|
|
import Text.Hamlet
|
|
|
|
import qualified Data.HashSet as HashSet
|
|
|
|
|
|
ihamletSomeMessage :: HtmlUrlI18n UniWorXMessage (Route UniWorX) -> HtmlUrlI18n (SomeMessage UniWorX) (Route UniWorX)
|
|
ihamletSomeMessage f trans = f $ trans . SomeMessage
|
|
|
|
mkEditNotifications :: (MonadHandler m, HandlerSite m ~ UniWorX) => UserId -> m (HtmlUrlI18n UniWorXMessage (Route UniWorX))
|
|
mkEditNotifications uid = liftHandler $ do
|
|
cID <- encrypt uid
|
|
jwt <- encodeBearer =<< bearerToken (HashSet.singleton $ Right uid) (Just . HashSet.singleton $ UserNotificationR cID) Nothing Nothing Nothing
|
|
let
|
|
editNotificationsUrl :: SomeRoute UniWorX
|
|
editNotificationsUrl = SomeRoute (UserNotificationR cID, [(toPathPiece GetBearer, toPathPiece jwt)])
|
|
editNotificationsUrl' <- toTextUrl editNotificationsUrl
|
|
return ($(ihamletFile "templates/mail/editNotifications.hamlet") :: HtmlUrlI18n UniWorXMessage (Route UniWorX))
|