yesod-persistent 0.1.0 → 0.2.1
raw patch · 2 files changed
+19/−14 lines, 2 filesdep ~persistentdep ~persistent-templatedep ~yesod-core
Dependency ranges changed: persistent, persistent-template, yesod-core
Files
- Yesod/Persist.hs +14/−10
- yesod-persistent.cabal +5/−4
Yesod/Persist.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE FlexibleContexts #-} module Yesod.Persist ( YesodPersist (..)+ , YesodDB , get404 , getBy404 , module Database.Persist@@ -11,29 +12,32 @@ import Database.Persist import Database.Persist.TH import Control.Monad.Trans.Class (MonadTrans (..))+import Control.Monad.IO.Class (MonadIO) import Control.Failure (Failure) import Yesod.Handler -class YesodPersist y where- type YesodDB y :: (* -> *) -> * -> *- runDB :: YesodDB y (GGHandler sub y IO) a -> GHandler sub y a+type YesodDB sub master = YesodPersistBackend master (GGHandler sub master IO) --- Get the given entity by ID, or return a 404 not found if it doesn't exist.-get404 :: (PersistBackend (t m), PersistEntity val, Monad (t m),+class YesodPersist master where+ type YesodPersistBackend master :: (* -> *) -> * -> *+ runDB :: MonadIO monad => YesodDB sub master a -> GGHandler sub master monad a++-- | Get the given entity by ID, or return a 404 not found if it doesn't exist.+get404 :: (PersistBackend t m, PersistEntity val, Monad (t m), Failure ErrorResponse m, MonadTrans t)- => Key val -> t m val+ => Key t val -> t m val get404 key = do mres <- get key case mres of Nothing -> lift notFound Just res -> return res --- Get the given entity by unique key, or return a 404 not found if it doesn't--- exist.-getBy404 :: (PersistBackend (t m), PersistEntity val, Monad (t m),+-- | Get the given entity by unique key, or return a 404 not found if it doesn't+-- exist.+getBy404 :: (PersistBackend t m, PersistEntity val, Monad (t m), Failure ErrorResponse m, MonadTrans t)- => Unique val -> t m (Key val, val)+ => Unique val t -> t m (Key t val, val) getBy404 key = do mres <- getBy key case mres of
yesod-persistent.cabal view
@@ -1,5 +1,5 @@ name: yesod-persistent-version: 0.1.0+version: 0.2.1 license: BSD3 license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>@@ -10,12 +10,13 @@ cabal-version: >= 1.6 build-type: Simple homepage: http://www.yesodweb.com/+description: Some helpers for using Persistent from Yesod. library build-depends: base >= 4 && < 5- , yesod-core >= 0.8 && < 0.9- , persistent >= 0.5 && < 0.6- , persistent-template >= 0.5 && < 0.6+ , yesod-core >= 0.8 && < 0.10+ , persistent >= 0.6 && < 0.7+ , persistent-template >= 0.6 && < 0.7 , failure >= 0.1 && < 0.2 , transformers >= 0.2 && < 0.3 exposed-modules: Yesod.Persist