Skip to content

Commit 2d2623f

Browse files
committed
Fixed order of object keys not as expected in DataSync responses
1 parent 3c5f3f0 commit 2d2623f

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

IHP/DataSync/DynamicQuery.hs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,20 @@ instance FromJSON PG.Action where
105105
parseJSON (String v) = pure (PG.Escape (cs v))
106106

107107
instance {-# OVERLAPS #-} ToJSON [Field] where
108-
toJSON fields = object (map (\Field { fieldName, fieldValue } -> (cs fieldName) .= (fieldValueToJSON fieldValue)) fields)
108+
toJSON fields = object (map (\Field { fieldName, fieldValue } -> (cs fieldName) .= (toJSON fieldValue)) fields)
109+
toEncoding fields = pairs $ foldl' (<>) mempty encodedFields
109110
where
110-
fieldValueToJSON (IntValue value) = toJSON value
111-
fieldValueToJSON (DoubleValue value) = toJSON value
112-
fieldValueToJSON (TextValue value) = toJSON value
113-
fieldValueToJSON (BoolValue value) = toJSON value
114-
fieldValueToJSON (UUIDValue value) = toJSON value
115-
fieldValueToJSON (DateTimeValue value) = toJSON value
116-
fieldValueToJSON (PointValue value) = toJSON value
117-
fieldValueToJSON IHP.DataSync.DynamicQuery.Null = toJSON Data.Aeson.Null
111+
encodedFields = (map (\Field { fieldName, fieldValue } -> (cs fieldName) .= (toJSON fieldValue)) fields)
112+
113+
instance ToJSON DynamicValue where
114+
toJSON (IntValue value) = toJSON value
115+
toJSON (DoubleValue value) = toJSON value
116+
toJSON (TextValue value) = toJSON value
117+
toJSON (BoolValue value) = toJSON value
118+
toJSON (UUIDValue value) = toJSON value
119+
toJSON (DateTimeValue value) = toJSON value
120+
toJSON (PointValue value) = toJSON value
121+
toJSON IHP.DataSync.DynamicQuery.Null = toJSON Data.Aeson.Null
118122

119123
instance PG.FromField Field where
120124
fromField field fieldValue' = do

0 commit comments

Comments
 (0)