* create nodejs express esrver
* 1st commit of the express.js module. Express server working, api-docs loads properly. No real paths yet
* 1st commit of the express.js module. Express server working, api-docs loads properly. No real paths yet (#2839)
* Working Express server with successful routing to controllers.
* rewrote controllers and services. Haven't tested yet
* controllers and services have passed tests successfully
* Added documentation
* Added documentation
* Support for openApi v3, using 'express-openapi-validator' for parsing and validation, and an internal router to pass arguments to controllers and services. /controllers/Pet.js and /services/PetService.js should be used for reverse engineering for future codegen script
* update generator and template
* update samples
* more update
* update service, controller
* add vendor extensions
* some updates to adapt to changes in the generator (removing references to swager); some work on handling file uploads; some work on tests
* Update NodeJS server generator and templates based on new output (#3261)
* update generator and template
* update samples
* more update
* update service, controller
* add vendor extensions
* update doc
* Changed routing code to follow the following convention:
Each path operation has a 'x-openapi-router-controller' and 'x-openapi-router-service'. Automated files will be placed under /controllers and /services respectively.
Controller file names will end with 'Controller.js'.
Removed swaggerRouter, replaced it with openapiRouter
Routing works and simple tests show a return of 200 to requests.
* [nodejs-express-server] various updates, fixes (#3319)
* various fix
* remove dot from service
* add space
* better method empty argument
* remove test service (#3379)
* add new doc
* 1. routingTests.js runs through all operations described in openapi.yaml and tries calling them, expecting 200 in return. Currently not all tests pass - not supporting xml, and problems with formData
2. Removed old testing files.
3. Added model files - contain data and structure as defined in openapi.yaml. Model.js has static methods relevant to all model files.
4. Changed openapi.yaml to allow running tests easily.
* 1. routingTests.js runs through all operations described in openapi.yaml and tries calling them, expecting 200 in return. Currently not all tests pass - not supporting xml, and problems with formData (#3442)
2. Removed old testing files.
3. Added model files - contain data and structure as defined in openapi.yaml. Model.js has static methods relevant to all model files.
4. Changed openapi.yaml to allow running tests easily.
* added model classes. Currently as a concept only. Seems like won't be in use
* Updated README.md to be a detailed description of the project.
Removed test files that are not needed.
Removed utils/writer.js which is not needed, and the references to it in the codegen files
* Removed redundant file app.js - this file has no benefit at this point. index.js now calls ExpressServer.js directly. Updated files that used to call app.js. Updated README.md accordingly
Added a path to call the openapi.yaml, and a test file for all endpoints that are not in the openapi.yaml, ensuring that they return 200. Updated README.md accordingly
* Remove test controller (#3575)
* remove test controller
* add back changes to templates
* remove app.js
* update wording
* dart2: Use the correct classname in test generation
At present test generation has a stray hard-coded reference to the pet
store Pet() class, which should reflect the actual classname under test.
* dart2: Call toDouble() in generated code for double types
At present the generated code does not correctly handle transitioning
to double when dealing with non-integer types in JSON deserialization.
This ends up with dart raising an unhandled type mismatch exception:
Unhandled exception: type 'int' is not a subtype of type 'double' where
...
Using the .toDouble() conversion when a double type is expected fixes
this up by making the typing explicit.
* dart2: Drop use of deprecated 'new' keyword in generated code
The use of the 'new' keyword in dart2 is deprecated and should be
avoided, as per the official guidance of the dart2 authors:
https://dart.dev/guides/language/effective-dart/usage#dont-use-new
* dart2: Regenerate samples for mustache template changes
* Fix#3402 by giving the possibility to set additional headers and the credentials parameters to the fetch query.
* Fix#3402 : Changes from code review
* Added handling of api keys in headers.
* Added handling of optional arguments in api functions.
* Optional header params.
* Fixed a bug in path param replacement.
* Relaxed deserializing of model records with @@deriving yojson { strict = false }. It allows receiving more fields in the JSon payload than declared in the OCaml record, fields not matching any record field are ignored.
* Reformatted api-impl.mustache.
* Generate shorter enum value names by allowing underscore character.
* Cleanup of optional params generation.
* Updated the OCaml samples with the latest version of the generator.
* Corrected a bug encountered when generating default value for optional enum fields.
* Added v3 version of the samples for the OCaml generator.
* -Fix bug in fetch -> Missing "runtime"
-Move fetch files to an "src" folder instead of doing everything at the root which removes the bugs when using the library itself
-Fix the distribution of fetch using npm
* Move the .ts files to an `src` folder which is more common in npm package
* Add missing mustache
* Add missing .npmignore
* If a separate parent pom is specified, there
should be no depdendency management
#3230
* Add Bean Validation framework
* Fix test and depedencies
* Format pom
[Rust Server] Support multipart/form_data
- Support multipart/form_data in the Rust Server
- Add a new test API to test the change.
- Update the examples to match
* Fixed#3521. Response headers were not processed for enums collection.
* Replace " by '' in text fields to allow these to be used in OCaml comments.
* Added support of ByteArray (i.e. base64 encoded data) body and free form object as request body. Added support of free form object in response body as well.
* Added result as a reserved word to prevent generating model files with this name (having a result.ml model file confuses dune into thinking some other model modules depend on Result when they don't).
* Updated samples to reflect the latest changes in the OCaml generator.
* [C++][Pistache] Do not use JSON for primitive types in request body
Request body can contain any input, simple strings, CSV text or something else
* [C++][Pistache] Update Petstore sample version
* WIP: add faraday support to Ruby client
* update samples
* bin/console
* https only
* ruby-faraday: Add a gemspec template for faraday
* Add a test for ruby-faraday client options
* Remove Gemfile.lock from ruby-client-faraday
* Implement faraday client
* Problem: can't use Faraday library for ruby clients
Solution: add support for Faraday library
This patch builds on the work started by @meganemura
* Problem: Faraday is set as default library
Solution: Make Typhoeus default
This patch also updates the api_client template for Faraday to include query params with requests.
* Update python client java generator
* Updates python generator mustache files
* Python sample regenerated
* Switches from getfullargspec to getargspec for python2 compatibility
* Uses getattr to get model class init method to correctly see its arguments, linting fixes to pass python tests
* Updates comment in python centerator to restart CI tests
* Adds bin/windows/python-experimental-petstore.bat
* CHanges spec update to apply to the python-experimental spec
* Moves new python templates to python-experimental
* Moves generator python java code to python-experimental
* Reverts python generator mustache files
* Regenerates python, v3 python, python-experimental samples
* Test moved to python-experimental, unused python files removed
* Default outputFile value is `openapi/openapi.yaml`.
* Mustache Lambdas documentation.
* Default OpenAPIYamlGenerator outputFile value is `openapi/openapi.yaml`.
It fails if the model contains a float, which don't implement Eq.
Fix for bug introduced in #3309.
We really need to improve the testing of the rust generator to catch this sort of mistake in future. I don't have time to do this now, though.
* fix name sanitation when using kebab case filenaming
* remove whitespaces
* sanitize names by removing spec 3 ref keys
* Revert "sanitize names by removing spec 3 ref keys"
This reverts commit 7e58719317bb936884f5ed0049177ef961871464.
* add pipes to datatype names
* split imports
* remove comment
* fix when using a mixture of (any|one) and standard imports
* sanitize names by removing spec 3 ref keys
* Revert "sanitize names by removing spec 3 ref keys"
This reverts commit 7e58719317bb936884f5ed0049177ef961871464.
* Merge conflict DefMerge branch 'master' into name-ref-fix
# Conflicts:
# modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
* split imports
* remove comment
* fix when using a mixture of (any|one) and standard imports
* Fix merge error
import missing package, merge error.
* format
* fix tests
* create test, fi regex
* Début d'un générateur pour OCaml.
* Ajout du script bash de generation pour OCaml.
* Implémentation de la partie model du générateur OCaml.
* Suppression du fichier Model.mustache.
* Légère modification dans le générateur OCaml.
* Début d'implémentation de la génération des opérations.
* Avancées dans l'implémenatation des opérations.
* Avancée dans la gestion des enums : reste à traiter le fait que Yojson sérialize les variants comme des tableaux JSON.
* Prise en compte du fait que Yojson représente les variants constants sous forme d'un tableau JSON contenant une unique string.
* Utilisation des variants polymorphe pour les enums car il se peut que plusieurs énumérations partagent des valeurs communes ce que ne permettent pas les variants ordinaires au sein d'un même module.
* Avancées dans le générateur de code OCaml : le code produit compile et prendre en compte les pathParams, les queryParams, les headersParams, les bodyParams et la réponse JSON. Manque le support du multipart, du form encoded et des mécanismes d'authentification.
* More tests.
* Correction de problèmes dans la génération mis en évidence par l'utilisation d'un fichier OAS plus gros et complexe que Petstore.
* Mapping du case Error de Ppx_deriving_yojson_runtime.ok_error vers l'exception Failure pour avoir des types plus simples et non dépendants de Pppx_deriving_yoson_runtime dans les APIs générées.
* Ajout de la génération des fichiers d'interfaces .mli pour les APIs.
* Ajout du support des parametres de type x-www-form-urlencoded.
* Le paramètres d'url de type number étaient mal gérés.
* Cleanup.
* Replace block comment start and end sequences in input text.
* Make apis calls without a return type return unit rather than Yojson.Safe.t.
* Make modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml generate properly.
* Added generated code for modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml.
* Better handling of enums and map container and better sanitizing of generated identifiers to support all the corner cases present in modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml.
* Correcting a violation : using toLowerCase without relying on the default Locale.
* Changed authoring in partial_header.mustache.
* Deleted commented code.
* Collect enum schemas in items properties of operation parameters in the case of ArraySchema parameters. This allows correct processing of modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml.
* Collect enums also in additional properties schemas of operation parameters in the case of MapSchema parameters (if this type of parameter can is allowed).
* Removed copy-pasted Copyright notice from SmartBear.
* update doc
* Use Locale.ROOT instead of Locale.ENGLISH for toLowerCase calls.
* Make GET operations with body generate compilable code.
* Updated ocaml-client generated samples using the latest version of the OCaml code generator.
* Added [@default None] for record fields with option types so that if those fields are missing at deserialization time, None is assumed.
* Added support of api keys in query params.
* Updated generated ocaml samples to reflect latest changes in templates.
* Added [@default] on enum record fields for which the enum type has only one accepted value so that those fields can be deserialized even if the value is absent of the json payload.
* Delete useless space character in template.
* Added proper handling of http response codes.
* Updated generated ocaml samples to reflect latest changes in templates.