module Database.CouchDB.Conduit.Implicit (
couchGet,
couchPut,
couchPut_,
couchPut',
) where
import qualified Data.Aeson as A
import qualified Data.ByteString.Lazy as BL (ByteString)
import Database.CouchDB.Conduit.Internal.Connection
(MonadCouch(..), Path, mkPath, Revision)
import Database.CouchDB.Conduit.Internal.Doc (couchGetWith, couchPutWith,
couchPutWith_, couchPutWith')
import Network.HTTP.Types (Query)
couchGet :: MonadCouch m =>
(A.Value -> A.Result a)
-> Path
-> Path
-> Query
-> m (Revision, a)
couchGet f db p = couchGetWith f (mkPath [db, p])
couchPut :: MonadCouch m =>
(a -> BL.ByteString)
-> Path
-> Path
-> Revision
-> Query
-> a
-> m Revision
couchPut f db p = couchPutWith f (mkPath [db, p])
couchPut_ :: MonadCouch m =>
(a -> BL.ByteString)
-> Path
-> Path
-> Query
-> a
-> m Revision
couchPut_ f db p = couchPutWith_ f (mkPath [db, p])
couchPut' :: MonadCouch m =>
(a -> BL.ByteString)
-> Path
-> Path
-> Query
-> a
-> m Revision
couchPut' f db p = couchPutWith' f (mkPath [db, p])