cached used in maybeAuth

This commit is contained in:
Michael Snoyman 2013-03-11 11:52:32 +02:00
parent eecda0c80e
commit df7c897ee2

View File

@ -253,12 +253,21 @@ maybeAuth :: ( YesodAuth master
, PersistStore (b (GHandler sub master))
, PersistEntity val
, YesodPersist master
, Typeable val
) => GHandler sub master (Maybe (Entity val))
maybeAuth = runMaybeT $ do
aid <- MaybeT $ maybeAuthId
a <- MaybeT $ runDB $ get aid
a <- MaybeT
$ fmap unCachedMaybeAuth
$ cached
$ fmap CachedMaybeAuth
$ runDB
$ get aid
return $ Entity aid a
newtype CachedMaybeAuth val = CachedMaybeAuth { unCachedMaybeAuth :: Maybe val }
deriving Typeable
requireAuthId :: YesodAuth master => GHandler sub master (AuthId master)
requireAuthId = maybeAuthId >>= maybe redirectLogin return
@ -269,6 +278,7 @@ requireAuth :: ( YesodAuth master
, PersistStore (b (GHandler sub master))
, PersistEntity val
, YesodPersist master
, Typeable val
) => GHandler sub master (Entity val)
requireAuth = maybeAuth >>= maybe redirectLogin return