git.iko.soy/typeable/bloodhound
on master help sign in
Added parent support to documentExists
commit5bd802b6376889e9a16a0ae8b738dc611a026c66 authorJohn Galt <centromere@users.noreply.github.com> dateTue 28 Jul 2015, 20:54 (11 years ago) parent7b0c801
1 file changed+7−4
src/Database/Bloodhound/Client.hs+7−4
src/Database/Bloodhound/Client.hs+7−4
@@ -68,6 +68,7 @@ import Data.ByteString.Lazy.Builder
6868import qualified Data.ByteString.Lazy.Char8 as L
6969import Data.Default.Class
7070import Data.Ix
71+import qualified Data.List as LS (filter)
7172import Data.Maybe (fromMaybe)
7273import Data.Monoid
7374import Data.Text (Text)
@@ -501,12 +502,14 @@ getDocument (IndexName indexName)
501502--
502503-- >>> exists <- runBH' $ documentExists testIndex testMapping (DocId "1")
503504documentExists :: MonadBH m => IndexName -> MappingName
504− -> DocId -> m Bool
505−documentExists (IndexName indexName)
506− (MappingName mappingName) (DocId docId) = do
505+ -> Maybe DocumentParent -> DocId -> m Bool
506+documentExists (IndexName indexName) (MappingName mappingName)
507+ parent (DocId docId) = do
507508 (_, exists) <- existentialQuery =<< url
508509 return exists
509− where url = joinPath [indexName, mappingName, docId]
510+ where url = addQuery params <$> joinPath [indexName, mappingName, docId]
511+ parentParam = fmap (\(DocumentParent (DocId p)) -> p) parent
512+ params = LS.filter (\(_, v) -> v /= Nothing) [("parent", parentParam)]
510513
511514dispatchSearch :: MonadBH m => Text -> Search -> m Reply
512515dispatchSearch url search = post url' (Just (encode search))