-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Some helpers for using Persistent from Yesod.
--
-- Some helpers for using Persistent from Yesod.
@package yesod-persistent
@version 1.2.3
-- | Defines the core functionality of this package. This package is
-- distinguished from Yesod.Persist in that the latter additionally
-- exports the persistent modules themselves.
module Yesod.Persist.Core
class Monad (YesodPersistBackend site (HandlerT site IO)) => YesodPersist site where type family YesodPersistBackend site :: (* -> *) -> * -> *
runDB :: YesodPersist site => YesodPersistBackend site (HandlerT site IO) a -> HandlerT site IO a
-- | Helper for creating runDB.
--
-- Since 1.2.0
defaultRunDB :: PersistConfig c => (site -> c) -> (site -> PersistConfigPool c) -> PersistConfigBackend c (HandlerT site IO) a -> HandlerT site IO a
-- | Since 1.2.0
class YesodPersist site => YesodPersistRunner site
getDBRunner :: YesodPersistRunner site => HandlerT site IO (DBRunner site, HandlerT site IO ())
-- | Helper for implementing getDBRunner.
--
-- Since 1.2.0
defaultGetDBRunner :: YesodPersistBackend site ~ SqlPersistT => (site -> Pool Connection) -> HandlerT site IO (DBRunner site, HandlerT site IO ())
newtype DBRunner site
DBRunner :: (forall a. YesodPersistBackend site (HandlerT site IO) a -> HandlerT site IO a) -> DBRunner site
runDBRunner :: DBRunner site -> forall a. YesodPersistBackend site (HandlerT site IO) a -> HandlerT site IO a
-- | Like runDB, but transforms a Source. See
-- respondSourceDB for an example, practical use case.
--
-- Since 1.2.0
runDBSource :: YesodPersistRunner site => Source (YesodPersistBackend site (HandlerT site IO)) a -> Source (HandlerT site IO) a
-- | Extends respondSource to create a streaming database response
-- body.
respondSourceDB :: YesodPersistRunner site => ContentType -> Source (YesodPersistBackend site (HandlerT site IO)) (Flush Builder) -> HandlerT site IO TypedContent
type YesodDB site = YesodPersistBackend site (HandlerT site IO)
-- | Get the given entity by ID, or return a 404 not found if it doesn't
-- exist.
get404 :: (PersistStore (t m), PersistEntity val, Monad (t m), m ~ HandlerT site IO, MonadTrans t, PersistMonadBackend (t m) ~ PersistEntityBackend val) => Key val -> t m val
-- | Get the given entity by unique key, or return a 404 not found if it
-- doesn't exist.
getBy404 :: (PersistUnique (t m), PersistEntity val, m ~ HandlerT site IO, Monad (t m), MonadTrans t, PersistEntityBackend val ~ PersistMonadBackend (t m)) => Unique val -> t m (Entity val)
instance MonadWidget m => MonadWidget (SqlPersistT m)
instance MonadHandler m => MonadHandler (SqlPersistT m)
module Yesod.Persist