packages feed

yesod-persistent (empty) → 0.0.0

raw patch · 4 files changed

+96/−0 lines, 4 filesdep +basedep +failuredep +persistentsetup-changed

Dependencies added: base, failure, persistent, transformers, yesod-core

Files

+ LICENSE view
@@ -0,0 +1,25 @@+The following license covers this documentation, and the source code, except+where otherwise indicated.++Copyright 2010, Michael Snoyman. All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++* Redistributions of source code must retain the above copyright notice, this+  list of conditions and the following disclaimer.++* Redistributions in binary form must reproduce the above copyright notice,+  this list of conditions and the following disclaimer in the documentation+  and/or other materials provided with the distribution.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND ANY EXPRESS OR+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO+EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.lhs view
@@ -0,0 +1,7 @@+#!/usr/bin/env runhaskell++> module Main where+> import Distribution.Simple++> main :: IO ()+> main = defaultMain
+ Yesod/Persist.hs view
@@ -0,0 +1,39 @@+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+module Yesod.Persist+    ( YesodPersist (..)+    , get404+    , getBy404+    , module Database.Persist+    ) where++import Database.Persist+import Control.Monad.Trans.Class (MonadTrans (..))+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++-- 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+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),+             Failure ErrorResponse m, MonadTrans t)+         => Unique val -> t m (Key val, val)+getBy404 key = do+    mres <- getBy key+    case mres of+        Nothing -> lift notFound+        Just res -> return res
+ yesod-persistent.cabal view
@@ -0,0 +1,25 @@+name:            yesod-persistent+version:         0.0.0+license:         BSD3+license-file:    LICENSE+author:          Michael Snoyman <michael@snoyman.com>+maintainer:      Michael Snoyman <michael@snoyman.com>+synopsis:        Some helpers for using Persistent from Yesod.+category:        Web, Yesod, Database+stability:       Stable+cabal-version:   >= 1.6+build-type:      Simple+homepage:        http://docs.yesodweb.com/++library+    build-depends:   base                      >= 4        && < 5+                   , yesod-core                >= 0.7      && < 0.8+                   , persistent                >= 0.4      && < 0.5+                   , failure                   >= 0.1      && < 0.2+                   , transformers              >= 0.2      && < 0.3+    exposed-modules: Yesod.Persist+    ghc-options:     -Wall++source-repository head+  type:     git+  location: git://github.com/snoyberg/yesod-persistent.git