yesod-auth-account 1.4.1 → 1.4.2
raw patch · 3 files changed
+9/−2 lines, 3 filesdep ~persistentPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: persistent
API changes (from Hackage documentation)
- Yesod.Auth.Account: instance (PersistEntity u, PersistUserCredentials u) => UserCredentials (Entity u)
- Yesod.Auth.Account: instance (Yesod master, PersistUserCredentials user) => AccountDB (AccountPersistDB master user)
- Yesod.Auth.Account: instance Applicative (AccountPersistDB master user)
- Yesod.Auth.Account: instance Functor (AccountPersistDB master user)
- Yesod.Auth.Account: instance Monad (AccountPersistDB master user)
- Yesod.Auth.Account: instance MonadIO (AccountPersistDB master user)
- Yesod.Auth.Account: instance Show LoginData
- Yesod.Auth.Account: instance Show NewAccountData
- Yesod.Auth.Account: instance Show NewPasswordData
- Yesod.Auth.Account: instance YesodAuthAccount db master => RenderMessage master AccountMsg
- Yesod.Auth.Account: loginPassword :: LoginData -> Text
- Yesod.Auth.Account: loginUsername :: LoginData -> Text
- Yesod.Auth.Account: newAccountEmail :: NewAccountData -> Text
- Yesod.Auth.Account: newAccountPassword1 :: NewAccountData -> Text
- Yesod.Auth.Account: newAccountPassword2 :: NewAccountData -> Text
- Yesod.Auth.Account: newAccountUsername :: NewAccountData -> Username
- Yesod.Auth.Account: newPasswordKey :: NewPasswordData -> Text
- Yesod.Auth.Account: newPasswordPwd1 :: NewPasswordData -> Text
- Yesod.Auth.Account: newPasswordPwd2 :: NewPasswordData -> Text
- Yesod.Auth.Account: newPasswordUser :: NewPasswordData -> Username
+ Yesod.Auth.Account: [loginPassword] :: LoginData -> Text
+ Yesod.Auth.Account: [loginUsername] :: LoginData -> Text
+ Yesod.Auth.Account: [newAccountEmail] :: NewAccountData -> Text
+ Yesod.Auth.Account: [newAccountPassword1] :: NewAccountData -> Text
+ Yesod.Auth.Account: [newAccountPassword2] :: NewAccountData -> Text
+ Yesod.Auth.Account: [newAccountUsername] :: NewAccountData -> Username
+ Yesod.Auth.Account: [newPasswordKey] :: NewPasswordData -> Text
+ Yesod.Auth.Account: [newPasswordPwd1] :: NewPasswordData -> Text
+ Yesod.Auth.Account: [newPasswordPwd2] :: NewPasswordData -> Text
+ Yesod.Auth.Account: [newPasswordUser] :: NewPasswordData -> Username
+ Yesod.Auth.Account: instance (Database.Persist.Class.PersistEntity.PersistEntity u, Yesod.Auth.Account.PersistUserCredentials u) => Yesod.Auth.Account.UserCredentials (Database.Persist.Class.PersistEntity.Entity u)
+ Yesod.Auth.Account: instance (Yesod.Core.Class.Yesod.Yesod master, Yesod.Auth.Account.PersistUserCredentials user) => Yesod.Auth.Account.AccountDB (Yesod.Auth.Account.AccountPersistDB master user)
+ Yesod.Auth.Account: instance Control.Monad.IO.Class.MonadIO (Yesod.Auth.Account.AccountPersistDB master user)
+ Yesod.Auth.Account: instance GHC.Base.Applicative (Yesod.Auth.Account.AccountPersistDB master user)
+ Yesod.Auth.Account: instance GHC.Base.Functor (Yesod.Auth.Account.AccountPersistDB master user)
+ Yesod.Auth.Account: instance GHC.Base.Monad (Yesod.Auth.Account.AccountPersistDB master user)
+ Yesod.Auth.Account: instance GHC.Show.Show Yesod.Auth.Account.LoginData
+ Yesod.Auth.Account: instance GHC.Show.Show Yesod.Auth.Account.NewAccountData
+ Yesod.Auth.Account: instance GHC.Show.Show Yesod.Auth.Account.NewPasswordData
+ Yesod.Auth.Account: instance Yesod.Auth.Account.YesodAuthAccount db master => Text.Shakespeare.I18N.RenderMessage master Yesod.Auth.Account.Message.AccountMsg
- Yesod.Auth.Account: class AccountSendEmail master where sendVerifyEmail uname email url = ((monadLoggerLog (Loc "Yesod/Auth/Account.hs" "yesod-auth-account-1.4.1" "Yesod.Auth.Account" (744, 11) (744, 18)) (pack "") LevelInfo) . (id :: Text -> Text)) $ concat ["Verification email for ", uname, " (", email, "): ", url] sendNewPasswordEmail uname email url = ((monadLoggerLog (Loc "Yesod/Auth/Account.hs" "yesod-auth-account-1.4.1" "Yesod.Auth.Account" (755, 11) (755, 18)) (pack "") LevelInfo) . (id :: Text -> Text)) $ concat ["Reset password email for ", uname, " (", email, "): ", url]
+ Yesod.Auth.Account: class AccountSendEmail master where sendVerifyEmail uname email url = ((monadLoggerLog (Loc "Yesod/Auth/Account.hs" "yesod_Akv86kYOHbYDsGN1ZMKFgU" "Yesod.Auth.Account" (744, 11) (744, 18)) (pack "") LevelInfo) . (id :: Text -> Text)) $ concat ["Verification email for ", uname, " (", email, "): ", url] sendNewPasswordEmail uname email url = ((monadLoggerLog (Loc "Yesod/Auth/Account.hs" "yesod_Akv86kYOHbYDsGN1ZMKFgU" "Yesod.Auth.Account" (755, 11) (755, 18)) (pack "") LevelInfo) . (id :: Text -> Text)) $ concat ["Reset password email for ", uname, " (", email, "): ", url]
- Yesod.Auth.Account: class (YesodAuth master, AccountSendEmail master, AccountDB db, UserCredentials (UserAccount db), RenderMessage master FormMessage) => YesodAuthAccount db master | master -> db where checkValidUsername u | all isAlphaNum u = return $ Right u checkValidUsername _ = do { mr <- getMessageRender; return $ Left $ mr MsgInvalidUsername } unregisteredLogin u = do { tm <- getRouteToParent; lift $ defaultLayout $ do { setTitleI MsgEmailUnverified; (do { (asWidgetT . toWidget) ((preEscapedText . pack) "<p>"); ((liftM (toHtml .) getMessageRender) >>= (\ urender_adgq -> (asWidgetT . toWidget) (urender_adgq MsgEmailUnverified))); (asWidgetT . toWidget) ((preEscapedText . pack) "</p>"); (asWidgetT . toWidget) (resendVerifyEmailWidget (username u) tm) }) } } getNewAccountR = do { tm <- getRouteToParent; lift $ defaultLayout $ do { setTitleI RegisterLong; newAccountWidget tm } } postNewAccountR = do { tm <- getRouteToParent; mr <- lift getMessageRender; ((result, _), _) <- lift $ runFormPost $ renderDivs newAccountForm; mdata <- case result of { FormMissing -> invalidArgs ["Form is missing"] FormFailure msg -> return $ Left msg FormSuccess d -> return $ if newAccountPassword1 d == newAccountPassword2 d then Right d else Left [mr PassMismatch] }; case mdata of { Left errs -> do { setMessage $ toHtml $ concat errs; redirect newAccountR } Right d -> do { void $ lift $ createNewAccount d tm; redirect LoginR } } } allowPasswordReset _ = True getResetPasswordR = do { tm <- getRouteToParent; lift $ defaultLayout $ do { setTitleI PasswordResetTitle; resetPasswordWidget tm } } setPasswordHandler u = do { tm <- getRouteToParent; lift $ defaultLayout $ do { setTitleI SetPassTitle; newPasswordWidget u tm } } renderAccountMessage _ _ = defaultAccountMsg
+ Yesod.Auth.Account: class (YesodAuth master, AccountSendEmail master, AccountDB db, UserCredentials (UserAccount db), RenderMessage master FormMessage) => YesodAuthAccount db master | master -> db where checkValidUsername u | all isAlphaNum u = return $ Right u checkValidUsername _ = do { mr <- getMessageRender; return $ Left $ mr MsgInvalidUsername } unregisteredLogin u = do { tm <- getRouteToParent; lift $ defaultLayout $ do { setTitleI MsgEmailUnverified; (do { (asWidgetT . toWidget) ((preEscapedText . pack) "<p>"); ((liftM (toHtml .) getMessageRender) >>= (\ urender_agQ2 -> (asWidgetT . toWidget) (urender_agQ2 MsgEmailUnverified))); (asWidgetT . toWidget) ((preEscapedText . pack) "</p>\n"); (asWidgetT . toWidget) (resendVerifyEmailWidget (username u) tm) }) } } getNewAccountR = do { tm <- getRouteToParent; lift $ defaultLayout $ do { setTitleI RegisterLong; newAccountWidget tm } } postNewAccountR = do { tm <- getRouteToParent; mr <- lift getMessageRender; ((result, _), _) <- lift $ runFormPost $ renderDivs newAccountForm; mdata <- case result of { FormMissing -> invalidArgs ["Form is missing"] FormFailure msg -> return $ Left msg FormSuccess d -> return $ if newAccountPassword1 d == newAccountPassword2 d then Right d else Left [mr PassMismatch] }; case mdata of { Left errs -> do { setMessage $ toHtml $ concat errs; redirect newAccountR } Right d -> do { void $ lift $ createNewAccount d tm; redirect LoginR } } } allowPasswordReset _ = True getResetPasswordR = do { tm <- getRouteToParent; lift $ defaultLayout $ do { setTitleI PasswordResetTitle; resetPasswordWidget tm } } setPasswordHandler u = do { tm <- getRouteToParent; lift $ defaultLayout $ do { setTitleI SetPassTitle; newPasswordWidget u tm } } renderAccountMessage _ _ = defaultAccountMsg
- Yesod.Auth.Account: runAccountPersistDB :: (Yesod master, YesodPersist master, PersistEntity user, PersistUserCredentials user, b ~ YesodPersistBackend master, b ~ PersistEntityBackend user, PersistUnique b, YesodAuthAccount db master, db ~ AccountPersistDB master user) => AccountPersistDB master user a -> HandlerT master IO a
+ Yesod.Auth.Account: runAccountPersistDB :: (Yesod master, YesodPersist master, PersistEntity user, PersistUserCredentials user, b ~ YesodPersistBackend master, b ~ PersistEntityBackend user, PersistUnique b, b ~ BaseBackend b, YesodAuthAccount db master, db ~ AccountPersistDB master user) => AccountPersistDB master user a -> HandlerT master IO a
Files
- Changelog.md +4/−0
- Yesod/Auth/Account.hs +3/−0
- yesod-auth-account.cabal +2/−2
Changelog.md view
@@ -1,3 +1,7 @@+# 1.4.2++* Allow persistent 2.5+ # 1.4.1 * Allow newest version of persistent
Yesod/Auth/Account.hs view
@@ -970,6 +970,9 @@ , P.PersistUnique (b (HandlerT master IO)) , P.PersistQuery (b (HandlerT master IO)) #endif+#if MIN_VERSION_persistent(2,5,0)+ , b ~ BaseBackend b+#endif , YesodAuthAccount db master , db ~ AccountPersistDB master user )
yesod-auth-account.cabal view
@@ -1,5 +1,5 @@ name: yesod-auth-account-version: 1.4.1+version: 1.4.2 cabal-version: >= 1.8 build-type: Simple synopsis: An account authentication plugin for Yesod@@ -38,7 +38,7 @@ , mtl >= 2.1 , nonce >= 1.0 , text >= 0.11- , persistent >= 1.3 && < 2.3+ , persistent >= 1.3 && < 2.6 , pwstore-fast >= 2.0 , yesod-auth >= 1.2 && < 1.5 , yesod-core >= 1.2 && < 1.5