Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SwaggerGen - Improved handling of dictionaries with enum key #3068

Conversation

flarestudiopl
Copy link
Contributor

Pull Request

The issue or feature being addressed

When enum used as a key for the dictionary contains no values defined, the dictionary schema becomes an object with no properties. In such case SchemaGenerator should build schema based on dictionary key and value type rather than known key values (which are unknown in fact).

Details on the issue fix or feature implementation

SchemaGenerator was modified to use "special case where the set of key values is known" only if the collection of known dictionary keys is not empty.

Copy link
Collaborator

@martincostello martincostello left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a test for this change please?

@codecov-commenter
Copy link

codecov-commenter commented Sep 12, 2024

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.53%. Comparing base (1c3b099) to head (e4f0c37).

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3068   +/-   ##
=======================================
  Coverage   90.53%   90.53%           
=======================================
  Files          76       76           
  Lines        3095     3096    +1     
  Branches      504      505    +1     
=======================================
+ Hits         2802     2803    +1     
  Misses        293      293           
Flag Coverage Δ
Linux 90.53% <100.00%> (+<0.01%) ⬆️
Windows 90.53% <100.00%> (+<0.01%) ⬆️
macOS 90.53% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@martincostello martincostello added this to the v6.8.0 milestone Sep 12, 2024
@martincostello martincostello merged commit 09a1282 into domaindrivendev:master Sep 12, 2024
9 checks passed
@martincostello
Copy link
Collaborator

Thanks!

@flarestudiopl
Copy link
Contributor Author

Thanks for quick review :) When can I expect this to be released?

@martincostello
Copy link
Collaborator

I'm not sure yet - in the meantime you can consume changes from our MyGet feed: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/deployments/MyGet.org

renovate bot referenced this pull request in orso-co/Orso.Arpa.Api Sep 27, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[Swashbuckle.AspNetCore](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore)
| `6.7.3` -> `6.8.0` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/Swashbuckle.AspNetCore/6.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Swashbuckle.AspNetCore/6.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Swashbuckle.AspNetCore/6.7.3/6.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Swashbuckle.AspNetCore/6.7.3/6.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>domaindrivendev/Swashbuckle.AspNetCore
(Swashbuckle.AspNetCore)</summary>

###
[`v6.8.0`](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.8.0)

##### What's Changed

- Added dependency injection/easy registration for async filters by
[@&#8203;tofi92](https://redirect.github.com/tofi92) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3030](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3030)
- Improve IncludeXmlComments performance (2) by
[@&#8203;mus65](https://redirect.github.com/mus65) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3044](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3044)
- Apply ParameterFilters and RequestBodyFilters for WithOpenApi
endpoints by
[@&#8203;jgarciadelanoceda](https://redirect.github.com/jgarciadelanoceda)
in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3059](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3059)
- Swagger plugins support by
[@&#8203;jvmlet](https://redirect.github.com/jvmlet) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3056](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3056)
- Add benchmarks project by
[@&#8203;martincostello](https://redirect.github.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3050](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3050)
- Fix NuGet badge by
[@&#8203;martincostello](https://redirect.github.com/martincostello) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3064](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3064)
- SwaggerGen - Improved handling of dictionaries with enum key by
[@&#8203;flarestudiopl](https://redirect.github.com/flarestudiopl) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3068](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3068)
- Fix typo by
[@&#8203;tom-star119](https://redirect.github.com/tom-star119) in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3073](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3073)
- Do not fill the RequestBody description with the first parameter of a…
by
[@&#8203;jgarciadelanoceda](https://redirect.github.com/jgarciadelanoceda)
in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3076](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3076)

##### New Contributors

- [@&#8203;tofi92](https://redirect.github.com/tofi92) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3030](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3030)
- [@&#8203;mus65](https://redirect.github.com/mus65) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3044](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3044)
- [@&#8203;jvmlet](https://redirect.github.com/jvmlet) made their first
contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3056](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3056)
- [@&#8203;flarestudiopl](https://redirect.github.com/flarestudiopl)
made their first contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3068](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3068)
- [@&#8203;tom-star119](https://redirect.github.com/tom-star119) made
their first contribution in
[https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3073](https://redirect.github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3073)

**Full Changelog**:
domaindrivendev/Swashbuckle.AspNetCore@v6.7.3...v6.8.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,every
weekend,before 5am every weekday" in timezone Europe/Berlin, Automerge -
At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/orso-co/Orso.Arpa.Api).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants