cached used in maybeAuth
This commit is contained in:
parent
eecda0c80e
commit
df7c897ee2
@ -253,12 +253,21 @@ maybeAuth :: ( YesodAuth master
|
|||||||
, PersistStore (b (GHandler sub master))
|
, PersistStore (b (GHandler sub master))
|
||||||
, PersistEntity val
|
, PersistEntity val
|
||||||
, YesodPersist master
|
, YesodPersist master
|
||||||
|
, Typeable val
|
||||||
) => GHandler sub master (Maybe (Entity val))
|
) => GHandler sub master (Maybe (Entity val))
|
||||||
maybeAuth = runMaybeT $ do
|
maybeAuth = runMaybeT $ do
|
||||||
aid <- MaybeT $ maybeAuthId
|
aid <- MaybeT $ maybeAuthId
|
||||||
a <- MaybeT $ runDB $ get aid
|
a <- MaybeT
|
||||||
|
$ fmap unCachedMaybeAuth
|
||||||
|
$ cached
|
||||||
|
$ fmap CachedMaybeAuth
|
||||||
|
$ runDB
|
||||||
|
$ get aid
|
||||||
return $ Entity aid a
|
return $ Entity aid a
|
||||||
|
|
||||||
|
newtype CachedMaybeAuth val = CachedMaybeAuth { unCachedMaybeAuth :: Maybe val }
|
||||||
|
deriving Typeable
|
||||||
|
|
||||||
requireAuthId :: YesodAuth master => GHandler sub master (AuthId master)
|
requireAuthId :: YesodAuth master => GHandler sub master (AuthId master)
|
||||||
requireAuthId = maybeAuthId >>= maybe redirectLogin return
|
requireAuthId = maybeAuthId >>= maybe redirectLogin return
|
||||||
|
|
||||||
@ -269,6 +278,7 @@ requireAuth :: ( YesodAuth master
|
|||||||
, PersistStore (b (GHandler sub master))
|
, PersistStore (b (GHandler sub master))
|
||||||
, PersistEntity val
|
, PersistEntity val
|
||||||
, YesodPersist master
|
, YesodPersist master
|
||||||
|
, Typeable val
|
||||||
) => GHandler sub master (Entity val)
|
) => GHandler sub master (Entity val)
|
||||||
requireAuth = maybeAuth >>= maybe redirectLogin return
|
requireAuth = maybeAuth >>= maybe redirectLogin return
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user