git.iko.soy/typeable/bloodhound
on master help sign in
Use datatype for source patterns.
commitb54846fb1dda50b58e3352f1dcff6064ddc9020f authorThomas van Noort <thomas@silk.co> dateMon 29 Jun 2015, 10:38 (11 years ago) parent1405af3
1 file changed+28−3
src/Database/Bloodhound/Types.hs+28−3
src/Database/Bloodhound/Types.hs+28−3
@@ -64,6 +64,10 @@ module Database.Bloodhound.Types
6464 , From(..)
6565 , Size(..)
6666 , Source(..)
67+ , PatternOrPatterns(..)
68+ , Include(..)
69+ , Exclude(..)
70+ , Pattern(..)
6771 , ShardResult(..)
6872 , Hit(..)
6973 , Filter(..)
@@ -610,10 +614,18 @@ data Search = Search { queryBody :: Maybe Query
610614
611615data Source =
612616 NoSource
613− | SourceFields FieldOrFields
614− | SourceIncludeExclude [Text] [Text]
617+ | SourcePatterns PatternOrPatterns
618+ | SourceIncludeExclude Include Exclude
615619 deriving (Show, Eq)
616620
621+data PatternOrPatterns = PopPattern Pattern
622+ | PopPatterns [Pattern] deriving (Eq, Show)
623+
624+data Include = Include [Pattern] deriving (Eq, Show)
625+data Exclude = Exclude [Pattern] deriving (Eq, Show)
626+
627+newtype Pattern = Pattern Text deriving (Eq, Show)
628+
617629data Highlights = Highlights { globalsettings :: Maybe HighlightSettings
618630 , highlightFields :: [FieldHighlight]
619631 } deriving (Show, Eq)
@@ -1940,9 +1952,22 @@ instance ToJSON Search where
19401952
19411953instance ToJSON Source where
19421954 toJSON NoSource = toJSON False
1943− toJSON (SourceFields fields) = toJSON fields
1955+ toJSON (SourcePatterns patterns) = toJSON patterns
19441956 toJSON (SourceIncludeExclude incl excl) = object [ "include" .= incl, "exclude" .= excl ]
19451957
1958+instance ToJSON PatternOrPatterns where
1959+ toJSON (PopPattern pattern) = toJSON pattern
1960+ toJSON (PopPatterns patterns) = toJSON patterns
1961+
1962+instance ToJSON Include where
1963+ toJSON (Include patterns) = toJSON patterns
1964+
1965+instance ToJSON Exclude where
1966+ toJSON (Exclude patterns) = toJSON patterns
1967+
1968+instance ToJSON Pattern where
1969+ toJSON (Pattern pattern) = toJSON pattern
1970+
19461971
19471972instance ToJSON FieldHighlight where
19481973 toJSON (FieldHighlight (FieldName fName) (Just fSettings)) =