@@ -87,14 +87,15 @@ instance (
8787 result :: [[Field ]] <- sqlQueryWithRLS query params
8888 renderJson result
8989
90-
90+ _ -> error " Expected JSON object or array "
9191
9292 action UpdateRecordAction { table, id } = do
9393 ensureRLSEnabled table
9494
9595 let payload = requestBodyJSON
9696 |> \ case
9797 Object hashMap -> hashMap
98+ _ -> error " Expected JSON object"
9899
99100 let columns = payload
100101 |> Aeson. keys
@@ -147,6 +148,9 @@ instance (
147148
148149 renderJson result
149150
151+ action GraphQLQueryAction = do
152+ error " GraphQLQueryAction is handled by the GraphQL middleware"
153+
150154buildDynamicQueryFromRequest table = DynamicSQLQuery
151155 { table
152156 , selectedColumns = paramOrDefault SelectAll " fields"
@@ -170,6 +174,7 @@ instance ParamReader OrderByClause where
170174 orderByDirection <- parseOrder order
171175 pure OrderByClause { orderByColumn, orderByDirection }
172176 [orderByColumn] -> pure OrderByClause { orderByColumn, orderByDirection = Asc }
177+ _ -> Left " Invalid order by clause"
173178 where
174179 parseOrder " asc" = Right Asc
175180 parseOrder " desc" = Right Desc
@@ -184,10 +189,15 @@ instance ToJSON PG.SqlError where
184189 ]
185190 where
186191 fieldValueToJSON (IntValue value) = toJSON value
192+ fieldValueToJSON (DoubleValue value) = toJSON value
187193 fieldValueToJSON (TextValue value) = toJSON value
188194 fieldValueToJSON (BoolValue value) = toJSON value
189195 fieldValueToJSON (UUIDValue value) = toJSON value
190196 fieldValueToJSON (DateTimeValue value) = toJSON value
197+ fieldValueToJSON (PointValue value) = toJSON value
198+ fieldValueToJSON (IntervalValue value) = toJSON value
199+ fieldValueToJSON (ArrayValue value) = toJSON value
200+ fieldValueToJSON IHP.DataSync.DynamicQuery.Null = toJSON Data.Aeson.Null
191201
192202instance ToJSON EnhancedSqlError where
193203 toJSON EnhancedSqlError { sqlError } = toJSON sqlError
0 commit comments