Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Merge requests
  • !4724

[core] Minor schema validations bug + add pattern property to CodegenResponse

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Jim Schubert requested to merge github/fork/jimschubert/minor-schema-validations-bug into master Dec 07, 2019
  • Overview 0
  • Commits 2
  • Pipelines 0
  • Changes 6

Found during discussion of #4653 (closed) that DefaultCodegen has an openApi property that may remain unset in certain workflows.

This also adds a pattern property to CodegenResponse to demonstrate the concerns discussed in #4653 (closed). 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:

  • CodegenParameter exposes Json Schema Validation properties as public fields
  • CodegenProperty exposes Json Schema Validation properties as getters/setters
  • CodegenReponse doesn't expose an API explicitly, but these Json Schema Validation properties are accessible via the schema property. For pattern, this poses an issue because the string is not double escaped to be ready for applying to mustache templates as it is for CodegenParameter/CodegenProperty

This 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

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./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).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/jimschubert/minor-schema-validations-bug