couchdb-conduit-0.9.0: src/Database/CouchDB/Conduit.hs
{-# LANGUAGE OverloadedStrings #-}
{- | CouchDB
To work with concrete objects, use the following modules:
* "Database.CouchDB.Conduit.DB" Database
* "Database.CouchDB.Conduit.View" Views
* "Database.CouchDB.Conduit.LowLevel" Low-level methods
For complete documentation about The Couch DB HTTP API see
<http://wiki.apache.org/couchdb/Complete_HTTP_API_Reference>
-}
module Database.CouchDB.Conduit (
-- * Document paths and revisions #path#
Path,
Revision,
mkPath,
-- * CouchDB Connection #connection#
CouchConnection,
def,
couchHost,
couchPort,
couchLogin,
couchPass,
couchPrefix,
-- * Runtime enviroment and errors #runtime#
MonadCouch (..),
CouchError (..),
runCouch,
withCouchConnection,
-- * Documents
--
-- For accessing and storing document data, use one of following:
--
-- * "Database.CouchDB.Conduit.Explicit" Explicit JSON methods
--
-- * "Database.CouchDB.Conduit.Generic" Generic JSON methods
couchRev,
couchRev',
couchDelete
) where
import Database.CouchDB.Conduit.Internal.Connection
import qualified Database.CouchDB.Conduit.Internal.Doc as D
-- | Get Revision of a document.
couchRev :: MonadCouch m =>
Path -- ^ Database.
-> Path -- ^ Document path.
-> m Revision
couchRev db p = D.couchRev (mkPath [db, p])
-- | Brain-free version of 'couchRev'. If document absent,
-- just return empty ByteString.
couchRev' :: MonadCouch m =>
Path -- ^ Database.
-> Path -- ^ Document path.
-> m Revision
couchRev' db p = D.couchRev' (mkPath [db, p])
-- | Delete the given revision of the object.
couchDelete :: MonadCouch m =>
Path -- ^ Database.
-> Path -- ^ Document path.
-> Revision -- ^ Revision
-> m ()
couchDelete db p = D.couchDelete (mkPath [db, p])