Commit Graph

2320 Commits

Author SHA1 Message Date
Vladimir Gorej
7d5cad0a1a feat(json-schema-2020-12): handle cycles in rendering
Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
fe181ede90 feat(json-schema-2020-12): detect expandable behavior
Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
e517397fd2 feat(json-schema-2020-12): infer type of schema if not defined
Handles schema cycles as well.

Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
83ba76c117 feat(json-schema-2020-12): add support for boolean JSON Schema
Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
161c5af17d feat(json-schema-2020-12): add support for title keyword
Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
a7efbf5b19 feat(json-schema-2020-12): add support for description keyword
Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
c4ec33b82c feat(json-schema-2020-12): add support for format keyword
Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
f06c1caed5 feat(json-schema-2020-12): add support for type keyword
Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
7cfc5e3656 feat(json-schema-2020-12): add support for deep expandable behavior
Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
ddedb57dc0 feat(json-schema-2020-12): add support for expandable behavior
Refs #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
9ed1c1b3a0 feat: introduce new UI + extendable behavior
Ref #8513
2023-04-26 13:55:45 +02:00
Vladimir Gorej
ab1842083d feat(json-schema-2020-12): add initial rendering engine
Refs #8513
2023-04-26 13:55:45 +02:00
Krzysztof Kowalczyk
cdfc4de43e fix(response-body): remove download button when content is empty (#8579)
Co-authored-by: Vladimír Gorej <vladimir.gorej@gmail.com>
2023-04-26 13:42:49 +02:00
Vladimír Gorej
cb15dbb6e5 fix(oas3): expand Callback operation without browser error (#8510)
Refs #7465
2023-03-23 15:35:46 +01:00
Vladimír Gorej
4dc83b900d fix(oas3): expand Callback operation without browser error (#8509)
Refs #8508
2023-03-23 15:12:17 +01:00
Vladimír Gorej
3d3fea09c6 fix(oas31): render Callback operations only (#8507)
Before this fix, other Path Item fields were
included into rendering of Operation Objects under
a specific Callback Object.

Refs #8504
2023-03-23 13:38:35 +01:00
Vladimir Gorej
7bdb605dcf docs(oas31): provide docs for createOnlyOAS31SelectorWrapper 2023-03-23 11:05:26 +01:00
Vladimír Gorej
e1816a5937 refactor(oas31): use OpenAPI 3.1 specific component wrapper util (#8503) 2023-03-23 10:55:41 +01:00
Vladimír Gorej
16224263d1 feat(oas31): add support for OpenAPI 3.1.0 badge (#8502)
Refs #8501
2023-03-23 10:13:20 +01:00
Vladimír Gorej
5c11bb5a45 fix(oas31): detect user request body edits in OpenAPI.paths (#8500)
Affected wrapped selector was hasUserEditedBody.
This commit fixes the bug by calling the original
selector when path+method combination is not found
in OpenAPI.webhooks field.

Refs #8498
2023-03-22 09:12:27 +01:00
Vladimír Gorej
25edb232f0 fix(oas31): fix recursive bug in hasUserEditedBody selector wrapper (#8499)
Refs #8498
2023-03-21 21:22:23 +01:00
Vladimir Gorej
10a2397e81 Merge branch 'master' into next 2023-03-21 14:19:43 +01:00
Vladimír Gorej
18681857c6 feat(oas31): add support for rendering OpenAPI.jsonSchemaDialect field (#8496)
Refs #8491
2023-03-21 14:13:18 +01:00
Vladimír Gorej
4810801f77 feat(oas31): add support for OpenAPI 3.1.0 in VersionPragmaFilter (#8495)
Refs #8492
2023-03-21 11:52:07 +01:00
Vladimír Gorej
d837b2b511 refactor(oas31): disable try it out mechanism explicitly for webhooks (#8485)
Refs #8474
2023-03-20 09:44:22 +01:00
Vladimír Gorej
d7099793a4 refactor(oas31): introduce selector composition mechanism (#8484)
Refs #8474
2023-03-20 08:34:11 +01:00
Vladimír Gorej
47e12f1de3 refactor(oas31): simplify Webhooks component by utilizing selectors (#8481)
Refs #8474
2023-03-17 18:14:23 +01:00
Vladimír Gorej
865d98d6be refactor(oas31): change Info compnent to be smart (#8479)
Refs #8474
2023-03-17 10:55:49 +01:00
Vladimír Gorej
a3d3f26c42 refactor(oas31): change Contact component to be smart (#8478)
Refs #8474
2023-03-17 10:30:19 +01:00
Vladimír Gorej
91ba415632 refactor(oas31): consolidate plugin selectors (#8477)
Refs #8474
2023-03-16 17:15:27 +01:00
Vladimír Gorej
990d1f288e refactor(oas31): change License component to be smart (#8476)
Refs #8474
2023-03-16 15:54:59 +01:00
Vladimír Gorej
8b274414ab refactor(oas31): concentrate OpenAPI 3.1.0 code to separate plugin (#8475)
Refs #8474
2023-03-16 12:05:19 +01:00
Enzzo
44e2700c74 fix: decode model schema name on model component (#8400)
Refs #5626
2023-03-13 11:59:44 +01:00
Vladimir Gorej
0d0e6d9b23 feat: integrate swagger-client@3.19.1 2023-03-08 11:08:49 +01:00
Tim Lai
4557b2497b feat: OpenAPI 3.1 support (#8367)
- New top-level field - `webhooks`. This allows describing out-of-band webhooks that are available as part of the API.

- New top-level field - `jsonSchemaDialect`. This allows defining of a default `$schema` value for Schema Objects

- The Info Object has a new `summary` field.

- The License Object now has a new `identifier` field for SPDX licenses. This `identifier` field is mutually exclusive with the `url` field. Either can be used in OpenAPI 3.1 definitions.

- Components Object now has a new entry `pathItems`, to allow for reusable Path Item Objects to be defined within a valid OpenAPI document.

- `License` and `Contact` components are now exported and available via `getComponent`

- New version predicates and selectors for `isOpenAPI30` and `isOpenAPI31`. This avoids needing to change the usage of `isOAS3` selector.

- New OAS3 components: `Webhooks`

- New OAS3 wrapped components: `Info`, `License`
2023-02-03 14:06:56 -08:00
Mathias Spanhove
ffe24d5a83 fix(try-it-out): reset of oas3 requestBody should use default values (#8265)
Co-authored-by: Mathias Spanhove <mathias.spanhove@katoennatie.com>
2022-11-08 15:23:19 -08:00
Andreas Born
7b0ac1ae28 fix: show client secret input for PKCE auth code flow (#8268)
* fix: show client secret input for PKCE auth code flow

PKCE and Client Secrets are allowed to coexist and neither is designed
as a replacement for the other. [1] It is wrong to assume that a client
secret must not or cannot be used in combination with PKCE. Quite the
opposite, when possible both PKCE and client secret should be used. [2]
So the premises of #6290 and #8146 are not correct.

Admittedly, for users of the PKCE mechanism WITHOUT a client secret it
might be a minor nuisance to see the client secret input in the Swagger
UI. But they can just leave it empty. On the other hand, for users of
the PKCE mechanism WITH a client secret it is more than just a nuisance
if the client secret input is not shown. The Swagger UI becomes unusable
for them (unless they've set a default value for the client secret,
which will be used hiddenly without being shown to the user).

Therefore the right course of action for now would be to revert #7438 to
show the client secret input always regardless of PKCE. In the future a
new flag could be introduced to hide the client secret input regardless
of the PKCE flag.

[1] https://oauth.net/2/pkce/
[2] https://www.oauth.com/oauth2-servers/pkce/

* docs: explain why client secret input is shown despite PKCE
2022-11-04 15:46:38 -07:00
Guillaume Tassery
b010b558f1 fix(ui): handle missing schema reference case for discriminant definitions (#8257)
Co-authored-by: Tim Lai <timothy.lai@gmail.com>
2022-10-26 12:14:28 -07:00
ishuen
2a967e9b25 fix(parameters): allowedValues for enum and boolean types (#8231)
* Change parameter with empty map

* Change allowValues data type

Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-10-25 11:01:07 -07:00
kai-morich
94575666c3 fix(oauth2): only display scopes relevant for current endpoint (#8229)
* 'available authorization' popup: only show oauth2 scopes relevant for current endpoint (issue #8219)

* unit tests for oauth2 scope filter

Co-authored-by: Kai Morich <kai.morich@sap.com>
Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-10-24 13:37:49 -07:00
Hunmin Park
a43ae1c804 fix(ui): change input line-height to prevent clipped characters (#8216)
Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-10-19 13:55:24 -07:00
Ahmed Yarub Hani Al Nuaimi
f5bb456ffa feat(example): set discriminated properties to mapped value (#8213) 2022-10-17 16:22:43 -07:00
Pompette
7936ec9fea fix(ui): alignment of markdown description in parameter/response columns (#8214) 2022-10-14 10:43:10 -07:00
Dan Wallis
130a1be133 feat(try-it-out): display validation error messages (#8212) 2022-10-14 09:36:13 -07:00
Tim Lai
4b5d4bda96 fix(xml): render example with oneOf/anyOf (#8206)
* test(e2e): render xml example with oneOf/anyOf
2022-09-28 14:33:58 -07:00
twjasa
6c03465257 fix: expand model if depth <= defaultModelExpandDepth (#8186) 2022-09-21 15:57:37 -07:00
Chad Knight
94c70e21cd fix(plugin): allow Topbar plugin to read url param on load (#8168)
* fix(plugin): allow Topbar plugin to read url param on load

* fix(plugin): add cypress tests for topbar w/o query config
2022-09-21 13:24:00 -07:00
Fabian Schneider
6ae2693d47 feat: Render external docs links and descriptions (#7559)
Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-08-17 10:42:36 -07:00
Andreas Deininger
9891d97201 docs: fix typos and update https references (#8154)
Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-08-12 10:14:27 -07:00
Vladimir Slesarev
c63737d574 fix(auth): client_secret may appear in non-authcode flows while also using PKCE (#8146) 2022-08-10 09:28:37 -07:00