feat: customizable OpenAPI title
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Vendored
+6
@@ -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: -
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user