cleanup
This commit is contained in:
@@ -61,7 +61,7 @@ import PostgREST.Types
|
|||||||
import PostgREST.Auth (tokenJWT)
|
import PostgREST.Auth (tokenJWT)
|
||||||
|
|
||||||
import Prelude
|
import Prelude
|
||||||
import Debug.Trace
|
--import Debug.Trace
|
||||||
|
|
||||||
app :: DbStructure -> AppConfig -> BL.ByteString -> Request -> H.Tx P.Postgres s Response
|
app :: DbStructure -> AppConfig -> BL.ByteString -> Request -> H.Tx P.Postgres s Response
|
||||||
app dbstructure conf reqBody req =
|
app dbstructure conf reqBody req =
|
||||||
@@ -444,9 +444,9 @@ parseGetRequest rootTableName httpRequest =
|
|||||||
qParams = queryParams httpRequest
|
qParams = queryParams httpRequest
|
||||||
|
|
||||||
augumentRequestWithJoin :: Text -> [Relation] -> ApiRequest -> Either Text ApiRequest
|
augumentRequestWithJoin :: Text -> [Relation] -> ApiRequest -> Either Text ApiRequest
|
||||||
augumentRequestWithJoin schema allRels request = return request
|
augumentRequestWithJoin schema allRels request =
|
||||||
>>= first formatRelationError . addRelations schema allRels Nothing
|
(first formatRelationError . addRelations schema allRels Nothing) request
|
||||||
>>= addJoinConditions schema
|
>>= addJoinConditions schema
|
||||||
|
|
||||||
-- we use strings here because most of this data will be sent to parsers (which need strings for now)
|
-- we use strings here because most of this data will be sent to parsers (which need strings for now)
|
||||||
queryParams :: Request -> [(String, Maybe String)]
|
queryParams :: Request -> [(String, Maybe String)]
|
||||||
@@ -465,7 +465,7 @@ buildSelectApiRequest :: Text -> String -> [(String, String)] -> Maybe String ->
|
|||||||
buildSelectApiRequest rootTableName sel wher orderS =
|
buildSelectApiRequest rootTableName sel wher orderS =
|
||||||
first formatParserError $ foldr addFilter <$> (addOrder <$> apiRequest <*> ord) <*> flts
|
first formatParserError $ foldr addFilter <$> (addOrder <$> apiRequest <*> ord) <*> flts
|
||||||
where
|
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
|
addOrder (Node (q,i) f) o = Node (q{order=o}, i) f
|
||||||
flts = mapM pRequestFilter wher
|
flts = mapM pRequestFilter wher
|
||||||
ord = traverse (parse pOrder ("failed to parse order parameter <<"++fromMaybe "" orderS++">>")) orderS
|
ord = traverse (parse pOrder ("failed to parse order parameter <<"++fromMaybe "" orderS++">>")) orderS
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ spec = afterAll_ resetDb $ around withApp $ do
|
|||||||
simpleBody p `shouldBe` ""
|
simpleBody p `shouldBe` ""
|
||||||
simpleStatus p `shouldBe` created201
|
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")]
|
request methodPost "/menagerie?select=integer,varchar" [("Prefer", "return=representation")]
|
||||||
[json| {
|
[json| {
|
||||||
"integer": 14, "double": 3.14159, "varchar": "testing!"
|
"integer": 14, "double": 3.14159, "varchar": "testing!"
|
||||||
@@ -43,7 +43,7 @@ spec = afterAll_ resetDb $ around withApp $ do
|
|||||||
, matchHeaders = ["Content-Type" <:> "application/json"]
|
, 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")]
|
request methodPost "/projects?select=id,name,clients(id,name)" [("Prefer", "return=representation")]
|
||||||
[str|{"id":5,"name":"New Project","client_id":2}|] `shouldRespondWith` ResponseMatcher {
|
[str|{"id":5,"name":"New Project","client_id":2}|] `shouldRespondWith` ResponseMatcher {
|
||||||
matchBody = Just [str|{"id":5,"name":"New Project","clients":{"id":2,"name":"Apple"}}|]
|
matchBody = Just [str|{"id":5,"name":"New Project","clients":{"id":2,"name":"Apple"}}|]
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import SpecHelper
|
|||||||
spec :: Spec
|
spec :: Spec
|
||||||
spec =
|
spec =
|
||||||
beforeAll (clearTable "items" >> createItems 15)
|
beforeAll (clearTable "items" >> createItems 15)
|
||||||
. beforeAll (clearProjectsTable)
|
. beforeAll clearProjectsTable
|
||||||
. beforeAll (clearTable "complex_items" >> createComplexItems)
|
. beforeAll (clearTable "complex_items" >> createComplexItems)
|
||||||
. beforeAll (clearTable "nullable_integer" >> createNullInteger)
|
. beforeAll (clearTable "nullable_integer" >> createNullInteger)
|
||||||
. beforeAll (
|
. beforeAll (
|
||||||
|
|||||||
Reference in New Issue
Block a user