feat: customizable OpenAPI title

This commit is contained in:
AnthonyFisi
2023-01-21 19:34:55 -05:00
committed by GitHub
parent 8aa79086d2
commit 9065ed65fa
4 changed files with 25 additions and 3 deletions
+1
View File
@@ -21,6 +21,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
+ Offers a more flexible replacement for `!inner`, e.g. `/projects?select=*,clients(*)&clients=not.is.null`
+ Allows doing an anti join, e.g. `/projects?select=*,clients(*)&clients=is.null`
+ Allows using or across related tables conditions
- #1100, Customizable OpenAPI title - @AnthonyFisi
### Fixed
+4 -3
View File
@@ -359,8 +359,8 @@ postgrestSpec rels pds ti (s, h, p, b) sd allowSecurityDef = (mempty :: Swagger)
& schemes ?~ [s']
& info .~ ((mempty :: Info)
& version .~ T.decodeUtf8 prettyVersion
& title .~ "PostgREST API"
& description ?~ d)
& title .~ fromMaybe "PostgREST API" dTitle
& description ?~ fromMaybe "This is a dynamic API generated by PostgREST" dDesc)
& externalDocs ?~ ((mempty :: ExternalDocs)
& description ?~ "PostgREST Documentation"
& url .~ URL ("https://postgrest.org/en/" <> docsVersion <> "/api.html"))
@@ -375,8 +375,9 @@ postgrestSpec rels pds ti (s, h, p, b) sd allowSecurityDef = (mempty :: Swagger)
where
s' = if s == "http" then Http else Https
h' = Just $ Host (T.unpack $ escapeHostName h) (Just (fromInteger p))
d = fromMaybe "This is a dynamic API generated by PostgREST" sd
securityDefName = "JWT"
(dTitle, dDesc) = fmap fst &&& fmap (T.dropWhile (=='\n') . snd) $
T.breakOn "\n" <$> sd
pickProxy :: Maybe Text -> Maybe Proxy
pickProxy proxy
+14
View File
@@ -42,6 +42,20 @@ spec actualPgVersion = describe "OpenAPI" $ do
liftIO $ docsUrl `shouldBe` Just (String ("https://postgrest.org/en/" <> docsVersion <> "/api.html"))
describe "schema" $ do
it "includes title and comments to schema" $ do
r <- simpleBody <$> get "/"
let childGetTitle = r ^? key "info" . key "title"
let childGetDescription = r ^? key "info" . key "description"
liftIO $ do
childGetTitle `shouldBe` Just "My API title"
childGetDescription `shouldBe` Just "My API description\nthat spans\nmultiple lines"
describe "table" $ do
it "includes paths to tables" $ do
+6
View File
@@ -26,6 +26,12 @@ CREATE SCHEMA "EXTRA ""@/\#~_-";
COMMENT ON SCHEMA v1 IS 'v1 schema';
COMMENT ON SCHEMA v2 IS 'v2 schema';
COMMENT ON SCHEMA test IS
$$My API title
My API description
that spans
multiple lines$$;
--
-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
--