git.iko.soy/typeable/bloodhound
on master help sign in
Add support for stored scripts with IDs.
commitdda50b186cb5f269a798a8d5100f516134e7e6fb authorWill Jones <will@sacharissa.co.uk> dateTue 4 Jul 2017, 15:09 (9 years ago) parentaeb5de2
1 file changed+10−3
src/Database/V5/Bloodhound/Types.hs+10−3
src/Database/V5/Bloodhound/Types.hs+10−3
@@ -188,6 +188,7 @@ module Database.V5.Bloodhound.Types
188188 , FunctionScoreFunction(..)
189189 , FunctionScoreScript(..)
190190 , FunctionScoreScriptInline(..)
191+ , FunctionScoreScriptId(..)
191192 , FunctionScoreScriptParams(..)
192193 , FunctionScoreScriptParamName
193194 , FunctionScoreScriptParamValue
@@ -1480,13 +1481,17 @@ data FunctionScoreFunction =
14801481 deriving (Eq, Read, Show, Generic, Typeable)
14811482
14821483data FunctionScoreScript =
1483− FunctionScoreScript { functionScoreScriptInline :: FunctionScoreScriptInline
1484+ FunctionScoreScript { functionScoreScriptInline :: Maybe FunctionScoreScriptInline
1485+ , functionScoreScriptStored :: Maybe FunctionScoreScriptId
14841486 , functionScoreScriptParams :: Maybe FunctionScoreScriptParams
14851487 } deriving (Eq, Read, Show, Generic, Typeable)
14861488
14871489newtype FunctionScoreScriptInline =
14881490 FunctionScoreScriptInline Text deriving (Eq, Read, Show, Generic, Typeable, ToJSON, FromJSON)
14891491
1492+newtype FunctionScoreScriptId =
1493+ FunctionScoreScriptId Text deriving (Eq, Read, Show, Generic, Typeable, ToJSON, FromJSON)
1494+
14901495newtype FunctionScoreScriptParams =
14911496 FunctionScoreScriptParams (HM.HashMap FunctionScoreScriptParamName FunctionScoreScriptParamValue)
14921497 deriving (Eq, Read, Show, Generic, Typeable)
@@ -2951,16 +2956,18 @@ parseFunctionScoreFunction o =
29512956 singleFieldValueFactor = pure . FunctionScoreFunctionFieldValueFactor
29522957
29532958instance ToJSON FunctionScoreScript where
2954− toJSON (FunctionScoreScript inline params) =
2959+ toJSON (FunctionScoreScript inline stored params) =
29552960 object [ "script" .= omitNulls base ]
29562961 where base = [ "inline" .= inline
2962+ , "stored" .= stored
29572963 , "params" .= params ]
29582964
29592965instance FromJSON FunctionScoreScript where
29602966 parseJSON = withObject "FunctionScoreScript" parse
29612967 where parse o = o .: "script" >>= \o' ->
29622968 FunctionScoreScript
2963− <$> o' .: "inline"
2969+ <$> o' .:? "inline"
2970+ <*> o' .:? "stored"
29642971 <*> o' .:? "params"
29652972
29662973instance ToJSON FunctionScoreScriptParams where