Copyright | Copyright (c) 2015, Michael Alan Dorman |
---|---|
License | MIT |
Maintainer | mdorman@jaunder.io |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
This module is intended to be import qualified
. No attempt has
been made to keep names of types or functions from clashing with
obvious or otherwise commonly-used names.
The functions here are derived from (and presented in the same order as) http://docs.couchdb.org/en/1.6.1/api/local/index.html.
- get :: (FromJSON a, MonadIO m) => RetrieveDoc -> DocId -> Maybe DocRev -> Context -> m (Result a)
- put :: (FromJSON a, MonadIO m, ToJSON b) => ModifyDoc -> DocId -> Maybe DocRev -> b -> Context -> m (Result a)
- delete :: (FromJSON a, MonadIO m) => ModifyDoc -> DocId -> Maybe DocRev -> Context -> m (Result a)
- copy :: (FromJSON a, MonadIO m) => ModifyDoc -> DocId -> Maybe DocRev -> DocId -> Context -> m (Result a)
Documentation
:: (FromJSON a, MonadIO m) | |
=> RetrieveDoc | Parameters for document retrieval |
-> DocId | The document ID |
-> Maybe DocRev | An optional document revision |
-> Context | |
-> m (Result a) |
Get the specified local document
The return value is an object whose fields often vary, so it is most easily decoded as a Value
:
>>>
value :: Result Value <- Doc.get "pandas" Nothing ctx
If the specified DocRev matches, returns a JSON Null, otherwise a JSON value for the document.
Status: Complete
:: (FromJSON a, MonadIO m, ToJSON b) | |
=> ModifyDoc | Parameters for document modification |
-> DocId | The document ID |
-> Maybe DocRev | An optional document revision |
-> b | The document |
-> Context | |
-> m (Result a) |
Create or replace the specified local document
The return value is an object that can hold "id" and "rev" keys, but if you don't need those values, it is easily decoded into a Bool
with our asBool
combinator:
>>>
value :: Result Bool <- DocBase.put modifyDoc "pandas" Nothing SomeValue ctx >>= asBool
Status: Complete
:: (FromJSON a, MonadIO m) | |
=> ModifyDoc | Parameters for document modification |
-> DocId | The document ID |
-> Maybe DocRev | An optional document revision |
-> Context | |
-> m (Result a) |
Delete the specified local document
The return value is an object that can hold "id" and "rev" keys, but if you don't need those values, it is easily decoded into a Bool
with our asBool
combinator:
>>>
value :: Result Bool <- DocBase.delete "prefix" modifyDoc "pandas" Nothing ctx >>= asBool
Status: Complete
:: (FromJSON a, MonadIO m) | |
=> ModifyDoc | Parameters for document modification |
-> DocId | The document ID |
-> Maybe DocRev | An optional document revision |
-> DocId | The destination document ID |
-> Context | |
-> m (Result a) |
Copy the specified local document
The return value is an object that can hold "id" and "rev" keys, but if you don't need those values, it is easily decoded into a Bool
with our asBool
combinator:
>>>
value :: Result Bool <- DocBase.delete "prefix" modifyDoc "pandas" Nothing ctx >>= asBool
Status: Complete