Commit Graph

332 Commits

Author SHA1 Message Date
Matthieu Berthomé
d49fb1c777 StringUtils functions (#859)
* extract StringUtils

* extract escape function

* fixup! extract escape function

* forbiddenapis fix

* fix merge issue

* put string utils methods as deprecated, call with FQDN to call the org.openapitools.codegen.utils.StringUtils static methods

* javadoc fix
2018-08-30 15:56:04 +08:00
Jérémie Bresson
f4d7403ed6 [Java][JAXRS] improve generated readme (#920)
* [Java][JAXRS] improve readmes

* Update samples

* Update jersey readme

* Update jersey examples
2018-08-30 14:05:34 +08:00
Jérémie Bresson
f987306a15 Remove x-nullable extension support (#930) 2018-08-30 07:54:34 +02:00
osjupiter
62abd51a02 [all] add "x-enum-varnames" extension to control enum varname (#917)
* add "x-enum-varnames" extension to control the naming of the enum parameter name
* allow to set different size from target enum
2018-08-30 07:23:19 +02:00
William Cheng
09a62d7fef Minor improvements to Kotlin Spring Boot generator (#918)
* minor improvement to kotlin sprinbboot generator

* add dr4ke616 to tech comm, add zalando to company list
2018-08-29 11:34:58 +08:00
lukoyanov
4558e49c7e [Java] Retrofit2 Play! Framework 2.6.x support (#901)
* added play framework 2.6 support

* generated petstore sample

* generated petstore sample #2

* generated petstore sample #3

* Revert "generated petstore sample #3"

* generated petstore sample #4

* fixed circleci configs

* one more time samples regen
2018-08-28 22:48:05 +08:00
Jack O'Sullivan
5926ee5f1f Add callback model (#861)
* Add callback model (#372)

This adds a new `CodegenCallback` class, a list of which is now present in
`CodegenOperation`. `CodegenOperation` now also includes a
`isCallbackRequest` boolean since `fromCallback()` (the method added to
`DefaultCodegen` to process operations which contain OpenAPI callbacks)
uses CodegenOperation as the model for a callback request.

A `CodegenOperation` which represents a callback request will have a
`null` operation id.

A test is included for this new model.

* Generate callback request `operationId`

* Add license to `CodegenCallback`
2018-08-28 21:10:13 +08:00
Adam Drakeford
8689227b3e [KOTLIN] Spring Boot Server Generator (#820)
* Kotlin Spring initial bootstrap

* Basic configuration construction for Kotlin Spring

* Wired up with comand line client

* Initial kotlin spring boot application generated using gradle kotlin-dsl

* Added basic support for generating models

* Basic controllers generated without endpoints generated

* Basic spring boot app generated with models and controllers

* Added fix for type mapping in AbstractKotlinCodegen. Originally it was mapping list o kotlin.Array instead of kotlin.collections.List

* Fixed return type mapping

* Sorted bash springboot petstore generator script

* Implemented toVarName in AbstractKotlinCodegen to better handle some edgecases

* Checking for reserved words or numerical starting class names in AbstractKotlinCodegen

* Implemented toOperationId in AbstractKotlinCodegen

* Fixed types that were not correctly being mapped to primitives (byte / arrayOf / mapOf)

* Escaping dollar symbols in function names

* Added support for outter enum classes

* Added basic support for generating services

* Removed option for generated config package. Added option to enable/disable generated global exception handler

* Added configuration option to generate gradle. Generated maven pom.xml file as default

* Fixed up bash scripts for generating test sample code

* Added configurable option for Swagger Annotations

* Added configurable option for generating service interfaces and service implementations

* Added README generation

* Enable optional bean validation

* Added kotlin spring sample to CircleCI pom.xml

* Removed kotlin spring boot from .gitignore

* Minor fixes from PR comments for user submission (#1)

* Minor fixes from PR comments for user submission

* Puts braces around conditional block bodies with one-liner bodies.
* Modifies README.mustache to use artifact id and version supplied by
user (or default configuration)
* Targets templates under resource directory explicitly to prevent the
need to rebuild for evaluation of  template-only changes.

* [kotlin-spring] Remove comments referencing sbt in bash scripts

* List of changes based upon code review:
* Additional comments around how we set the title based off the open api spec
* Fixed missing `beanValidationCore` template
* Put the lambdas into the lambda object as other generators do (Ktor, C#, cpp)
* Bump swagger-annotations version to latest pre-2.0 version (1.5.21)
* Set kotlin version to 1.2.60
* Updated README to set port based on template
* Added more additional properties to build bash scripts
* Removed `defaultBasePath.mustache` in place of using {{contextPath}} directly
* Log warning for when `serviceImplementation` is set t o true

* Updated samples

* Generating ConstraintViolation Exception Handler, as Springboot doesnt correctly catch the error and return bad request. Handling other exceptions a litle better

* Small fix for date time mappings (plus sample re-gen)

* Minor fix in README template, where port was using wrong variable

* Fix missing jackson-dataformat-xml dependency

* Fix build - needed to re-run kotlin-server-petstore.sh

* Fixes after merge with master

* Revert "Small fix for date time mappings (plus sample re-gen)"

This reverts commit 4152dc78b4813da71c675272ca90fb31a333aea1.

* Moved type mappings to Kotlin Spring generator

* Regenerated samples

* Regenerated samples
2018-08-27 23:54:53 +08:00
William Cheng
b505795bf7 use JsonIgnoreProperties to fix recursion (#903) 2018-08-27 16:14:35 +08:00
Yuriy Belenko
15cec0ae09 [Slim] Add PHP CodeSniffer to check coding style (#897)
* [Slim] Add PHP CodeSniffer package

* [Slim] Add phpcsStandard generator option

We follow PSR-2 coding style guide in PHP generators. It might be convenient
for users to specify own coding standard without modifying templates. That's
why I've added this option.

At first, I thought to add option validation and accept only standards from
predefined list. But this option also can be a full path to the standard's
root directory, I've changed my mind. User should use this option with caution.

Ref to all PHP CodeSniffer CLI options:
https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage

* [Slim] Extend readme with PHP CodeSniffer docs

* [Slim] Format templates to meet PSR-2

* [Slim] Refresh samples
2018-08-26 15:26:09 +05:00
William Cheng
50c6ac34f1 Add x-nullable (OAS2) support (#889)
* add x-nullable oas2 support

* add test spec for testing x-nullable
2018-08-25 18:31:23 +08:00
sunn
6a00b2a802 [cpp-pistache] removed model namespace when unused for operations (#775)
* Remove using model namespace when model is unused
* Add comments to clarify introduction of hasModelImport at API/operations level instead of operation/vendorExtensions level.
2018-08-24 10:52:01 +02:00
sunn
f802f8b7d7 [qt5 server] various improvements (#725)
* Improve handling of all primitive types

* Fix missing includes in case of simple APIs

* Fix minor error in template function

* Remove tabs

* Refactor code for simplicity

* Remove tabs

* rework the router for handling multiple path param

* rework router to handle multiple path parameters

* rework router to handle multiple path parameters

* rework router

* Add support for Multi path param

* Add comments to code block and remove duplicate parameters

* Remove tabs :(

* Add missing imports after resolving conflict
2018-08-24 08:47:01 +02:00
William Cheng
6a47d49ee8 add nullable support (#873) 2018-08-23 10:51:57 +08:00
Jeremie Bresson
ab09909f99 Add missing import 2018-08-22 06:53:48 +02:00
Matthieu Berthomé
d8b597b168 [DefaultGenerator] consider referenced headers (#863) 2018-08-22 06:07:57 +02:00
Jens Oberender
9bc335b35e Forbiddenapis check and fix (#672)
* Added forbiddenapis check and fixed the findings in the normal code
* Fixed forbiddenapi findings in java templates and samples.
* Generated all samples for Java.
2018-08-22 06:06:01 +02:00
William Cheng
227f2779d7 escape various descriptions in the spec (#866) 2018-08-22 11:48:32 +08:00
matthesrieke
39763a8ca7 fix unescaped description in requestBody (#857)
Fix unescaped description in requestBody
2018-08-21 22:28:32 +08:00
Jérémie Bresson
3f65d6c350 [all] Support for Free-Form Objects (#849)
Consider "additionalProperties: true"

Fixes #796
2018-08-21 12:26:54 +02:00
Daiki Matsudate
fcfd8ea76e Update swift samples (#738)
* update all swift samples

* fix method name starting with number literal

* better handling of operationId starting with number

* update swift 4 samples
2018-08-21 15:17:56 +08:00
Jean-François Côté
ee491a0e5e Fix problems in typescript jquery generator (#801)
* Add missing curly bracket + remove unnecessary `postProcessParameter` because it add 2 time "models."

* Add generated client for samples
2018-08-20 08:44:46 -04:00
Yuriy Belenko
e605882451 [PHP] Add gitignore to AbstractPhpCodegen (#765)
* [PHP] Remove PHP related rules from root gitignore

After conversation with @ackintosh we've agreed that every PHP codegen
should create it's own `.gitignore`. Client libraries(SDKs) should ignore
`composer.lock` file while server stubs better do opposite.

* [PHP] Set .gitignore as default supporting file

* [PHP] Add default gitignore to Client SDK

* [PHP] Add default gitignore to Laravel

* [PHP] Add default gitignore to Lumen

* [PHP] Add default gitignore to Silex

Seems like issue #663 and pull request #681 missed this security script,
I've changed output path in bin/security/silex-petstore-server.sh.

* [PHP] Update Slim

* [PHP] Add default gitignore to Symfony

I've copied few old rules from root gitignore to local one. These rules
should be reviewed by original SymfonyCodegen authors.

* [PHP] Add default gitignore to Zend

* [PHP] Refresh Openapi3 client samples

* [PHP] Add refs to .gitignore templates collection
2018-08-20 12:16:01 +08:00
Tino Fuhrmann
3b9de3baa3 Added server variable support (#816)
* Added server variable support

* Replaced tabs with 4 spaces
2018-08-19 17:45:55 +08:00
William Cheng
d593988e5d fix erlang optiona/required parameters (#829) 2018-08-19 14:52:21 +08:00
William Cheng
0f30a052b2 Add an option to skip "form" model generation (#700)
* add option to generate all models

* update doc

* rename option to skipFormModel

* update petstore samples

* Update doc

* Update samples
2018-08-17 17:22:30 +08:00
William Cheng
ca651becf8 Add support for multi consumes in inline schema (#789)
* add support for multi consumes in inline schema

* add copyright

* revert redirectTestOutputToFile change in pom.xml
2018-08-16 00:24:19 +08:00
William Cheng
6de09688ad Add auto-generated readme for cpprestsdk client (#814)
* add auto-generated readme for cpprestsdk client

* update cpprest client sample

* remove error message from cmake
2018-08-16 00:23:48 +08:00
Michael Kotten
fa52826c24 [JAXRS-spec] Add option useSwaggerAnnotations (#813) 2018-08-15 18:05:47 +02:00
Jim Schubert
7acba8a4d8 [generator] Cleanup debugOpenAPI usage/display text (#804) 2018-08-14 11:45:50 +08:00
William Cheng
b64864f47d Fix float/double default value in C# generator (#791)
* fix float/double default value

* better code format

* better CI for openapi3 batch files (C# client)

* update nancyfx samples

* pipe output to /dev/null to reduce log size

* fix windows batch file

* add C# API client generated by OAS3 spec
2018-08-13 13:28:22 +08:00
William Cheng
c237fe9f1c Enhancements to documentation generators (samples, default values, etc) (#790)
* enhancements to doc generators (samples, default values, etc)

* add 3.3.x to PR template
2018-08-13 13:27:45 +08:00
Jérémie Bresson
5e1c4cde50 Remove duplicate variable declaration (#792) 2018-08-13 13:26:34 +08:00
attrobit
1559c4fadd Issue 758 root resource (#771)
* Unit-Test for JavaJAXRSSpecServerCodegen.

* Path generation for primary resource fixed.

* Unit test for toApiName.

* Review-Feedback: blank line removed.
2018-08-12 22:37:19 +08:00
William Cheng
ddb0920fed Fix C# client enum issue (#774)
* fix csharp enum issue

* fix numeric enum value

* add docstring to exlain isDataTypeString

* fix docstring by adding return

* fix ToJson in hash model

* remove BaseValidate for map model

* restore csproj file
2018-08-11 11:34:20 +08:00
Akihito Nakano
21777f2759 [JavaScript] Update vulnerable dependencies (#784)
* Update vulnerable dependencies

* Update samples: javascript-es6

* Update samples: javascript-promise

* Update samples: javascript-promise-es6

* Update samples: javascript

* Update samples: petstore-security-test/javascript

* Rename operationId if it starts with a number

* Update samples

bin/javascript-petstore.sh
bin/javascript-es6-petstore.sh
bin/javascript-promise-petstore.sh
bin/javascript-promise-es6-petstore.sh
2018-08-10 21:50:33 +08:00
Daniel Miller
987fd77042 [cpp-restsdk] Support multi-line descriptions (#753)
* Update IndentedLambda to take optional prefix

* Add `multiline_comment_4` to CppRestSdkClient

* Update cpp-restsdk example
2018-08-09 19:01:15 -04:00
antihax
a0984a9be8 [Core] Resolve Inline Models (#736)
* Add InlineModelResolver.java

* fix inline schema for OAS2 body parameter

* skip warning, fix MapSchema cast error
2018-08-09 23:27:51 +08:00
Rubén Martínez
d0ccac5663 Fixed the generation of model properties whose data type is a composed (allOf) schema (#704)
* #582 Fixed the generation of model properties whose data type is a composed (allOf) schema. Before this fix, the data type name of the generated property was that of the first model participating in the allOf clause. After this fix the property data type is again as expected: the one of the composed schema and not one of its parents.

* Added unit test in order to have regression testing in the fix for the #582 issue (references to composed schemas should not get unaliased for them to get a proper data type name in the generation of model properties).

* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.

* Removed tabs from ModelUtilsTest.java
2018-08-08 13:06:42 -04:00
William Cheng
3245c0a139 minor update to python generator usage (#762) 2018-08-08 11:21:34 +08:00
stkrwork
0809d8f527 [C++][Restbed/Pistache] Added fix for byte array (#752)
* Added fix for byte array

* Fix spacing

* Adapted default value for ByteArray

* Adapted default value for ByteArray in Pistache Server
2018-08-07 17:07:05 +02:00
sunn
baf16cf834 [cpp pistache] use model namespace only on Model import (#733)
Don't use model namespaces when not imported
2018-08-07 15:19:56 +02:00
sunn
e143214685 [cpp pistache] fix leading number in model names and apply modelNamePrefix in all cases (#730)
* Fix numbers in nameInCamelCase. Add possibility to prefix Names to avoid conflicts
* Allow unique prefixing for template functions as well
2018-08-06 22:22:22 +02:00
William Cheng
c116c8fb9b [PHP] Decommission "packagePath", add new option "packageName" (#681)
* remove packagePath from php file location, use -o instead

* fix php symfony top folder

* restore pacakgePath

* update php laraavel samples

* remove packagePath from PHP generator

* add new silex files

* update window batch - php silex

* fix openapi3 silex script
2018-08-06 18:10:34 +08:00
William Cheng
f6146b212f [PHP] better operationId handling, add CI for PHP slim server (#723)
* better operationId handling, add CI for PHP slim

* use spaces instead of tabs

* replace tab with space

* install php
2018-08-03 10:47:54 +08:00
Akihito Nakano
2b429ee43b [PHP] [Laravel] Fix syntax errors in models (#721)
* Fix syntax errors in Models

* Update samples

./bin/php-laravel-petstore-server.sh
2018-08-03 10:44:12 +08:00
William Cheng
f32398a708 add dockerfile for ror, fix template issue (#718) 2018-08-02 22:07:09 +08:00
William Cheng
f0425d77ef [Ruby] Better handling of operationID starting with a number (#719)
* better handling of operationId starting with numbers in Ruby

* update Rubocop to use Layout
2018-08-02 22:00:50 +08:00
William Cheng
e0020b41da underscore classVarName to fix route issue in ROR (#706) 2018-08-02 21:42:09 +08:00
William Cheng
375c26ccb3 add option to select db adapter in ror (#711) 2018-08-02 13:52:34 +08:00