diff --git a/src/PostgREST/App.hs b/src/PostgREST/App.hs index 7509cf790..89fb19ff9 100644 --- a/src/PostgREST/App.hs +++ b/src/PostgREST/App.hs @@ -61,7 +61,7 @@ import PostgREST.Types import PostgREST.Auth (tokenJWT) import Prelude -import Debug.Trace +--import Debug.Trace app :: DbStructure -> AppConfig -> BL.ByteString -> Request -> H.Tx P.Postgres s Response app dbstructure conf reqBody req = @@ -444,9 +444,9 @@ parseGetRequest rootTableName httpRequest = qParams = queryParams httpRequest augumentRequestWithJoin :: Text -> [Relation] -> ApiRequest -> Either Text ApiRequest -augumentRequestWithJoin schema allRels request = return request - >>= first formatRelationError . addRelations schema allRels Nothing - >>= addJoinConditions schema +augumentRequestWithJoin schema allRels request = + (first formatRelationError . addRelations schema allRels Nothing) request + >>= addJoinConditions schema -- we use strings here because most of this data will be sent to parsers (which need strings for now) queryParams :: Request -> [(String, Maybe String)] @@ -465,7 +465,7 @@ buildSelectApiRequest :: Text -> String -> [(String, String)] -> Maybe String -> buildSelectApiRequest rootTableName sel wher orderS = first formatParserError $ foldr addFilter <$> (addOrder <$> apiRequest <*> ord) <*> flts where - apiRequest = parse (pRequestSelect rootTableName) ("failed to parse select parameter <<"++sel++">>") $ sel + apiRequest = parse (pRequestSelect rootTableName) ("failed to parse select parameter <<"++sel++">>") sel addOrder (Node (q,i) f) o = Node (q{order=o}, i) f flts = mapM pRequestFilter wher ord = traverse (parse pOrder ("failed to parse order parameter <<"++fromMaybe "" orderS++">>")) orderS diff --git a/test/Feature/InsertSpec.hs b/test/Feature/InsertSpec.hs index 40a665651..ae4bcc095 100644 --- a/test/Feature/InsertSpec.hs +++ b/test/Feature/InsertSpec.hs @@ -31,7 +31,7 @@ spec = afterAll_ resetDb $ around withApp $ do simpleBody p `shouldBe` "" simpleStatus p `shouldBe` created201 - it "filters columns in result using &select" $ do + it "filters columns in result using &select" $ request methodPost "/menagerie?select=integer,varchar" [("Prefer", "return=representation")] [json| { "integer": 14, "double": 3.14159, "varchar": "testing!" @@ -43,7 +43,7 @@ spec = afterAll_ resetDb $ around withApp $ do , matchHeaders = ["Content-Type" <:> "application/json"] } - it "includes related data after insert" $ do + it "includes related data after insert" $ request methodPost "/projects?select=id,name,clients(id,name)" [("Prefer", "return=representation")] [str|{"id":5,"name":"New Project","client_id":2}|] `shouldRespondWith` ResponseMatcher { matchBody = Just [str|{"id":5,"name":"New Project","clients":{"id":2,"name":"Apple"}}|] diff --git a/test/Feature/QuerySpec.hs b/test/Feature/QuerySpec.hs index 1ff4c899a..b6a236813 100644 --- a/test/Feature/QuerySpec.hs +++ b/test/Feature/QuerySpec.hs @@ -11,7 +11,7 @@ import SpecHelper spec :: Spec spec = beforeAll (clearTable "items" >> createItems 15) - . beforeAll (clearProjectsTable) + . beforeAll clearProjectsTable . beforeAll (clearTable "complex_items" >> createComplexItems) . beforeAll (clearTable "nullable_integer" >> createNullInteger) . beforeAll (