[core] Minor schema validations bug + add pattern property to CodegenResponse #4724
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Found during discussion of #4653 that
DefaultCodegen
has anopenApi
property that may remain unset in certain workflows.This also adds a
pattern
property toCodegenResponse
to demonstrate the concerns discussed in #4653. Rather than introduce all properties defined by OpenAPI Specification for Schema Validation Properties, I've added the single property for pattern. Adding all will change the contract of our response object for templates, and as I've proposed in the issue I think it would be best to rely on an interface which defines the Json Schema Validation Properties and includes getters/setters on targeted Codegen* models.Current master's state is this:
schema
property. Forpattern
, this poses an issue because the string is not double escaped to be ready for applying to mustache templates as it is for CodegenParameter/CodegenPropertyThis PR will fix the case mentioned in the last bullet point, or at least it gives consistency for this property to template users.
PR checklist
./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc).master
,4.3.x
,5.0.x
. Default:master
.