Add PATCH handler

This commit is contained in:
Joe Nelson
2014-12-06 17:42:17 -08:00
parent 361cffc283
commit 8c073cedc6
2 changed files with 10 additions and 7 deletions
+9 -6
View File
@@ -131,6 +131,15 @@ app conn req respond =
"You must specify all columns in PUT request"
)
([table], "PATCH") ->
handleJsonObj req (\obj -> do
let qt = QualifiedTable schema (cs table)
_ <- uncurry (execute conn)
$ whereT qq
$ update qt (map cs $ keys obj) (elems obj)
return $ responseLBS status204 [ jsonH ] ""
)
(_, _) ->
return $ responseLBS status404 [] ""
@@ -221,12 +230,6 @@ instance ToJSON TableOptions where
-- ] ""
-- ([table], "PATCH") ->
-- jsonBodyAction req (\row -> do
-- _ <- update ver table row qq conn
-- return $ responseLBS status204 [ jsonContentType ] ""
-- )
-- (_, _) ->
-- return $ responseLBS status404 [] ""
+1 -1
View File
@@ -39,7 +39,7 @@ whereT :: Net.Query -> CompleteQueryT
whereT params q =
if L.null params
then q
else q <> conjunction
else q <> (" where ",[]) <> conjunction
where
cols = [ col | col <- params, fst col `notElem` ["order"] ]
conjunction = mconcat $ L.intersperse andq (map wherePred cols)