* Generate wrappers for oneOf with discriminator when using kotlinx.serialization
* Add spec with oneOf using discriminator
* Add config to generate samples
* Generate samples
* Update samples
* Change naming of wrapper classes
* Fix empty model test
* Update GH workflow with new samples
* Add CLI option
* Add dep to generated Cargo.toml
* Add new `Error::SerdePathToError` error type
* Add `serde_path_to_error` invocation to API layer
* Add sample for serde-path-to-error
* Add arg & docstring to cliOptions as well
* Fix sample
* fix(c): Remove duplicate code generation for UUID path parameters
The C generator was generating duplicate path parameter handling code
when a parameter had format: uuid. This occurred because UUID parameters
have both isString=true and isUuid=true flags set, causing both the
{{#isString}} and {{#isUuid}} template blocks to execute.
The duplicate {{#isUuid}} block has been removed since it generated
identical code to the {{#isString}} block. This makes UUID parameters
consistent with email parameters, which already work this way
(isEmail=true and isString=true, but only use the {{#isString}} block).
The generated code now compiles successfully without duplicate variable
declarations.
* test(c): Add UUID path parameter test case to petstore
Adds endpoint with UUID path parameter to verify C generator produces compilable code without duplicate variable declarations.
* chore(samples): Regenerate all C samples with template fix
Regenerated all C sample variants to include the UUID path parameter example.
The Ruby code that is generated copies numerous methods into every
model. This creates bloat both in file size and run-time memory usage.
This commit introduces a base class for all models to store common
methods. This commit's focus is only on static methods that do not
change between models.
* Expose mtls config params in python template
* Expose certFile and keyFile configuration items to support mtls in php generated client
* Regenerate of examples
* [Julia] Fix docstring parameter formatting with backticks
Wrap parameter names in backticks in generated Julia client docstrings
to prevent markdown from misinterpreting underscores as italic formatting.
This fixes an issue where parameter names like `pet_id`, `api_key`, and
`additional_metadata` would render incorrectly in documentation, with
underscores being treated as markdown italic markers instead of literal
characters.
Related issue: JuliaComputing/OpenAPI.jl#72
* Also wrap data types and return types in backticks
* Regenerate Julia client samples with backticked docstrings
* [Julia] Add backticks to all markdown documentation templates
Extend backtick formatting to markdown documentation templates for
both Julia client and server generators. This ensures consistent
markdown rendering of identifiers with underscores.
Changes:
- julia-client/api_doc.mustache: Add backticks to function signatures,
parameter names, types, and return types in markdown API docs
- julia-server/api_doc.mustache: Same changes for server API docs
- julia-client/model_doc.mustache: Add backticks to property names and
types in markdown model documentation
- julia-server/model_doc.mustache: Same changes for server model docs
All generated markdown files now properly display identifiers like
`pet_id`, `Custom_Type`, `update_pet_with_form` with literal
underscores instead of broken italic formatting.
Related to JuliaComputing/OpenAPI.jl#72
Previously, if an API endpoint was marked deprecated, this fact was not
reflected in the generated Rust clients using the reqwest library. We
want to know exactly when our client code is using a deprecated endpoint,
so marking the corresponding functions with the `#[deprecatd]` attribute
would be very helpful. Uses of the endpoint would then be picked up by
linters so that we can react.
This adds a line to the template which marks functions generated from
deprecated endpoints with the `#[deprecated]` attribute.
This does not touch any of the other client generators for Rust or any
other language, since they are out of scope for our needs.
Co-authored-by: Bradford Hovinen <bho@qwello.eu>
* Jersey2/3: Fix a bug where, when using OAuth, the HTTP 401 status code persisted even if the second request after renewing the Bearer access token succeeded
* Jersey2/3: Regenerate samples