git.iko.soy/typeable/bloodhound
on master help sign in
Add support for stored scripts with IDs.
dda50b1Will Jones
src/Database/V5/Bloodhound/Types.hs+10−3
@@ -188,6 +188,7 @@ module Database.V5.Bloodhound.Types
188 , FunctionScoreFunction(..)
188 , FunctionScoreFunction(..)
189 , FunctionScoreScript(..)
189 , FunctionScoreScript(..)
190 , FunctionScoreScriptInline(..)
190 , FunctionScoreScriptInline(..)
191+ , FunctionScoreScriptId(..)
191 , FunctionScoreScriptParams(..)
192 , FunctionScoreScriptParams(..)
192 , FunctionScoreScriptParamName
193 , FunctionScoreScriptParamName
193 , FunctionScoreScriptParamValue
194 , FunctionScoreScriptParamValue
@@ -1480,13 +1481,17 @@ data FunctionScoreFunction =
1480 deriving (Eq, Read, Show, Generic, Typeable)
1481 deriving (Eq, Read, Show, Generic, Typeable)
1481
1482
1482data FunctionScoreScript =
1483data FunctionScoreScript =
1483− FunctionScoreScript { functionScoreScriptInline :: FunctionScoreScriptInline
1484+ FunctionScoreScript { functionScoreScriptInline :: Maybe FunctionScoreScriptInline
1485+ , functionScoreScriptStored :: Maybe FunctionScoreScriptId
1484 , functionScoreScriptParams :: Maybe FunctionScoreScriptParams
1486 , functionScoreScriptParams :: Maybe FunctionScoreScriptParams
1485 } deriving (Eq, Read, Show, Generic, Typeable)
1487 } deriving (Eq, Read, Show, Generic, Typeable)
1486
1488
1487newtype FunctionScoreScriptInline =
1489newtype FunctionScoreScriptInline =
1488 FunctionScoreScriptInline Text deriving (Eq, Read, Show, Generic, Typeable, ToJSON, FromJSON)
1490 FunctionScoreScriptInline Text deriving (Eq, Read, Show, Generic, Typeable, ToJSON, FromJSON)
1489
1491
1492+newtype FunctionScoreScriptId =
1493+ FunctionScoreScriptId Text deriving (Eq, Read, Show, Generic, Typeable, ToJSON, FromJSON)
1494+
1490newtype FunctionScoreScriptParams =
1495newtype FunctionScoreScriptParams =
1491 FunctionScoreScriptParams (HM.HashMap FunctionScoreScriptParamName FunctionScoreScriptParamValue)
1496 FunctionScoreScriptParams (HM.HashMap FunctionScoreScriptParamName FunctionScoreScriptParamValue)
1492 deriving (Eq, Read, Show, Generic, Typeable)
1497 deriving (Eq, Read, Show, Generic, Typeable)
@@ -2951,16 +2956,18 @@ parseFunctionScoreFunction o =
2951 singleFieldValueFactor = pure . FunctionScoreFunctionFieldValueFactor
2956 singleFieldValueFactor = pure . FunctionScoreFunctionFieldValueFactor
2952
2957
2953instance ToJSON FunctionScoreScript where
2958instance ToJSON FunctionScoreScript where
2954− toJSON (FunctionScoreScript inline params) =
2959+ toJSON (FunctionScoreScript inline stored params) =
2955 object [ "script" .= omitNulls base ]
2960 object [ "script" .= omitNulls base ]
2956 where base = [ "inline" .= inline
2961 where base = [ "inline" .= inline
2962+ , "stored" .= stored
2957 , "params" .= params ]
2963 , "params" .= params ]
2958
2964
2959instance FromJSON FunctionScoreScript where
2965instance FromJSON FunctionScoreScript where
2960 parseJSON = withObject "FunctionScoreScript" parse
2966 parseJSON = withObject "FunctionScoreScript" parse
2961 where parse o = o .: "script" >>= \o' ->
2967 where parse o = o .: "script" >>= \o' ->
2962 FunctionScoreScript
2968 FunctionScoreScript
2963− <$> o' .: "inline"
2969+ <$> o' .:? "inline"
2970+ <*> o' .:? "stored"
2964 <*> o' .:? "params"
2971 <*> o' .:? "params"
2965
2972
2966instance ToJSON FunctionScoreScriptParams where
2973instance ToJSON FunctionScoreScriptParams where