* Beta server stub generator for F#/Giraffe (#2705)
* first commit for F#/Giraffe
use CLI generator
work on handlers
add binding to url params
add parameter declaration to handler & fix array types
order models by dependency and add tests
add oauth handlers
add service generation
add service implementation
return json for map types and add all return types to service implementation
pare down record types for readability
move implementations to impl folder
fix additional handler invocation
remove logging
remove open api type provider package reference
add sane defaults for OAuth
add readme and reorganize files for easier ignore
fix oauth checks and move login to default template
typedef operation body params as model
add API test templates
fix test templates
set project & other folders when packageName is set
add ignore to test pipes
add ignore for oauth to hide compile warnings
escape model types for generic dictionaries
remove Boolean object from primitives
fix handler and param templates for multiple path params
remove "Model" from model module names and fix import mapping for dictionary
add package name to model imports
change model templates to use imports
move login to CustomHandlers
raise exception where oauth not properly configured
allow webhost configuration from CustomHandlers
remove explicit support for nullable types and render option in template instead
move Cookie options to CustomHandlers
add header params
integrate api key provider
add nullable to datetime types
fix test generation and pretty up model folder
add context path to handler test template
dont copy spec file
remove superseded copyright notices
remove superseded copyright notices
* remove carriage return in fsharp template
* remove superseded sample output directory
* fix bash build script
* update generated sample
* update documentation
* add new file
* fix compile issues
* [Elixir] update version / add test
* update samples (add missing 200 responses in petstore-with-fake-endpoints-models-for-testing.yaml)
* [Elixir] update to 1.6 version
* [Elixir] fix test petapi
* new module: openapi-generator-core
* templating engine adapters to support extension (currently only Handlebars)
* new `-e` templating engine CLI option
* adapt Generator to process Template with the passed TemplatingEngineAdpater
* add a MustacheEngineAdapter to the codegen in the unit tests
* force default MustacheEngineAdapter
* copy new core module in the root Dockerfile
* add processTemplatingEngine to CodegenConfig, to be overriden by Codegen classes if needed
* support multiple file extensions per templating engine adapter
* Extends handlebars experimental adapter with explicit contextual resolvers (e.g. map processing)
* Add new openapi-generator-core/pom.xml to release_version_update.sh
* A detailed message will be logged on missing handlebars helper
* Adds README documentation around template default and beta options
* Moves mustache package under new templating package
* Include built-in handlebars helpers which require explicit registration, and custom `startsWith` helper.
- Restore XML namespace support
- Remove non snake case rust warning for xml wrap_in methods
- Add XML rust-server tests
- Fix wrapping XML arrays when a property of another object
- Run all tests, not just those for OpenAPI 2.0
- Force wrapping for rust-server
* Added new generator for Scala + Play Framework (WIP)
* scala-play-framework: default values reintroduced (mostly); datatype -> dataType
* reintroduced missing EOF newline
* Support single/collection params for header/query params
* Rename apiFutures > supportAsync, implStubs > skipStubs (opt-out instead of opt-in)
* Deleted license and small fixes
* Generate extraction of form parameters from request body
* Added missing call to executeApi for unit methods when supportAsync=false
* Polished some stuff and added routes, application.conf, logback.xml, better default responses
* Disabled generation of Json.format for models with files
* Added README
* Multiple additions and improvements.
- Fix Indentation using mustache lambdas
- Option to set routes file name (default: routes) - allows uninterrupted manual maintenance of main routes file, which may include a subroute to the generated routes file
- Move supporting file classes to a package and update application.conf generation accordingly
- Option to generate custom exceptions (default: true) which are used in the controller to differentiate between API call exceptions and validation exceptions
- Generate error handler with basic exception mapping
- Option to generate API docs under /api route
- Reorder routes file so parameter-less paths are given priority over parameterized paths. Prevents case like /v2/user/:username activating before /v2/user/login (thus shadowing the login route completely) as observed using v3 petstore.yaml
- Option to set base package name (default: org.openapitools) to allow placing supporting files under a different package
* Revert supportAsync default to false
* Added binaries and default api/model packages
* Added scala-play-framework sample
* Add missing contextPath to README and controller comment
* chore: add removing old files function to the scripts.
chore: add removing old files function to the scripts.
* docs: update by ./bin/go-gin-petstore-server.sh
* docs: update by ./bin/go-petstore-server.sh
* docs: update by ./bin/go-petstore-withxml.sh
* docs: update by ./bin/openapi3/go-petstore-server.sh
* docs: update by ./bin/security/go-petstore.sh
* [csharp-refactor] limit available target framework
This removes .NET 3.x, .NET 4.0, UWP, and the "5.0" option (which
referred to PCL 5.0). This gives us a smaller footprint for maintenance,
and doesn't necessarily block consumers from creating custom templates
to support those target frameworks. A workaround for users wanting these
options is to build against openapi-generator 3.3.4.
This moves logic for applying additional properties to strategies per
target framework, as a means to reduce maintenance overhead at the cost
of maybe a little redundancy between strategies.
* [csharp-refactor] Fixing .netstandard support
* [csharp-refactor] Fixing netcoreapp2.0 support
* [csharp-refactor] Regenerate samples
* Fix toLowerCase missing Local.ROOT
* [csharp-refactor] Remove unnecessary bash/batch scripts, update appveyor.
* Update appveyor.yml to test for dotnet/xunit
* Update appveyor.yml
Wrap xunit console environment variables in quotes, to prevent yaml syntax error.
* Update appveyor.yml
Try to use dos-style switches, attempting to remove yaml parse error in appveyor. Previous command matched appveyor docs, but resulted in the parser error.
* Update appveyor.yml
Wrap full commands for netstandard tests in quotes
* Fix linux style slashes in dotnet build, use dotnet test over appveyor xunit
* [csharp-refactor] Update generator docs
* Reverted path changes. Removed additional files in php petstore-security-test folder. Generated new samples.
* Batch and Shell scripts modified to use the same specification files for sample generation. Sample files generated.
* Input file path in PHP client batch file equalized with the input path in the shell script file. Samples generated.
* Added a missing bracket in the PHP client mustache template.
* AbstractPhpCodegen apiDocPath and modelDocPath creation adjusted to always use slash instead of system seperator, since the values will just be used in Markdown files.
* Unnecessary samples removed.
* Fixed unnecessary diversions between Windows and Linux/Mac paths in PHP codegen.
* New samples generated after rebase.
* Fixed a sample in TypeScript Angular v2 which caused CI to break.
* add option to generate alias as model
* [JAXRS/CXF] Emit method bodies, test data (#1158)
New jaxrs-cxf-extended generator with options:
- supportMultipleSpringServices Support generation of Spring services
from multiple specifications
- generateOperationBody (boolean) Enables generation of fully
functional test/service method bodies that pass/return random
but valid values & models.
- loadTestDataFromFile (boolean) When true, generated method bodies
load test data from a generated JSON file. When false, generated
method bodies contain inline code to construct the test data.
- testDataFile (string) The path of a JSON file to contain generated
test data. The file is initially generated but editable; edits are
preserved by subsequent generations.
- testDataControlFile (string) The path of a JSON file to control test
data generation - specifically, to control the number of items
required in array properties, structured by API class
/ operation name / parameter name. The file is initially generated
but editable; edits are preserved by subsequent generations.
- tests for the jaxrs-cxf-extended generator, including the new options
Bug fixes:
- fix bug (DefaultGenerator): handle absolute paths in supporting file
spec
- fix bug (DefaultCodegen): process enums in allVars
- fix bug (AbstractJavaCodegen): support multiple inheritance via
allOf (inheritance code deleted, as a subsequent pull broke it)
- fix bug (JavaCXFServerCodegen): use operationId instead of nickname
(gets out of step with duplicate operationIds)
- fix bug (JavaCXFServerCodegen): set appropriate default
consumes/produces for operations with body parameters or non-void
returns (CXF providers don't handle */*)
- fix indentation (DefaultCodegen)
- add support for a system property openapitools.implementation.version
to specify the package implementation version when running non-JAR'd
classes in an IDE (otherwise {{{generatorVersion}}} evaluates to
'unset'.
* reformat code
* make sh executable
* fix template folder
* fix template folder, update samples
* run test data manually to avoid ci failure
* Typescript 3.2
* Typescript spread operator
* Add vendor extension to the operation
* Remove url.URLSearchParams
* Generate form data in API
* Make axios scripts executable
* Reran generator
* Generate sample code
* Codegen having the model and api extra flag
* Revert to 2.4 Typescript
* COLLECTION_FORMAT.{{collectionFormat}} everywhere for consistency
* Consistency on the CollectionFormats, comment on the vendor extension
* Throw exception if api and model packages are not given
* Templates splitting api and models
* Post process the operations in the the process
* Beginning to get the axios tests up
* Ensure-up-to-date doesnt include TS/Axios tests
* Docs update for Typescript/Axios
* Merge master
* Api tests re-run
* Add windows bat file
* Issue 1766 Modified mustache files for Go to support nullable in the spec v3.0+; Updated model files running .sh scripts for Go.
* Add "nullable" to fake yaml
* Add sample script for OAS3
* Fix output folder (openapi3)
* Run bin/openapi3/go-petstore.sh
* Update samples
* Update jaxrs-jersey
* Update python and php samples
* Add bin/openapi3/go-gin-petstore-server.sh
* Run bin/openapi3/go-gin-petstore-server.sh
* Update bin/openapi3/go-petstore-server.sh to generate "nullable" samples
* Run bin/openapi3/go-petstore-server.sh
* Fix duplicated `import`
* Typescript 3.2
* Typescript spread operator
* Add vendor extension to the operation
* Remove url.URLSearchParams
* Generate form data in API
* Make axios scripts executable
* Reran generator
* Generate sample code
* Revert to 2.4 Typescript
* COLLECTION_FORMAT.{{collectionFormat}} everywhere for consistency
* Consistency on the CollectionFormats, comment on the vendor extension
* fix compilation error