* fix(cpp-pistache-server): meson/cmake build
* fix(cpp-pistache-server): Upgrade to C++17 and use std::optional
* feat(cpp-pistache-server): Disable running tests during build of nlohmann/json
* feat(samples): Update server/petstore/cpp-pistache
* BUG FIX: A missing semicolon in cpp-pistache-server generated code.
* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.
* BUG FIX: Provide default values of schema in cpp-pistache-server generated code.
* Continuing from #1317 and its PRs for pistache server string enum code generation;
* A class that has an `anyOf` specification, in cpp side will have no members: in stead it should have a member having the type `classname_anyOf`
* Thus, Its `==` operator is not present or wrongly filled
* An string enum, should have a better usage, hence the `setEnumValue`
* this PR, is a brigde between `stringenumclassname_anyOf` and `stringenumclassname`
* `anyOf` specification is not just about `Enums`, so a better handling is needed from mustache templates, hence new template model parameter `isStringEnumContainer`
* PR fix: muttleyxd: `double semicolon`
* PR fix: wing328: `I think std::string is C++ only. What about adding x-is-string-enum-container instead in the postProcessModel operation in the C++ pistache server generator?`
* PR fix: wing328: `I think std::string is C++ only...` after fix get latest codes and then generate samples
Co-authored-by: Mehmet Fatih <mfyuce@netas.com.tr>
* fix compilation break with validate function
* fix error handling in handleParsingException
bug caused all errors to be regarded as an internal server error
* generate samples
* overhaul pistache templates
* fix function signature in model-source
return type now aligns with definition in model-header
* use default keyword for destructors
* generate pistache samples
* move bin/configs/other/cpp-pistache-server-cpp-pistache.yaml to bin/configs/cpp-pistache-server-cpp-pistache.yaml
* Only generate validation body if necessary
* generate pistache samples
* Fix not processing enums in cpp-pistache-server
Defining a reusable enum as a component schema results in an empty
class. Following changes are made:
- activate 'postProcessModelsEnum' in 'AbstractCppCodegen'
- modify model templates for the 'cpp-pistache-server' project
As 'postProcessModelsEnum' is now available in the 'AbstactCppCodegen'
the 'enumVars' variables are now available in mustache templates for all
cpp based code generators.
As the 'AbstractCppCodegen' was touched all cpp based
samples were updated.
* fixes encountered on real world
* PR fixes
Co-authored-by: mfyuce <mfyuce@netas.com.tr>
* [C++][Pistache] Catch HttpError when user-provided handler has thrown
This allows for returning valid http code through exception
* [C++][Pistache] Update Petstore sample
* [C++][Pistache] Use reserved words to replace incorrect names
discard old decision to truncate reservedWords
* [C++][Pistache] Update struct model to use name instead of baseName
* [C++][Pistache] Update Petstore sample
* [C++] Add option to have lowercase variables
* [C++] Update generated docs
* [C++][Pistache] Simplified model template
* [C++][Pistache] Fix for addExternalLibs option
CMake would fail with addExternalLibs set to false
since it'd try to add depenency to not-existing targets
* [C++][Pistache] Update cpp-pistache-server-petstore.sh
* [C++][Pistache] Update Petstore sample
* [C++][Pistache] Update documentation
* [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
* [C++][Pistache] Replace contains with find on json object
This makes generator compatible with nlohmann-json 3.5.0
* [C++][Pistache] Update Petstore sample
* Fixed#2643
Refactored to/from json functions to use universal object serialization method.
* Code review found incorrect indenting and I forgot to remove unused mustache files.
* Removed helpers class because it is not needed anymore.
* Removed helpers package from docs.
* Reverted helper class removal.
Support basic query handling
Add helpers for primitive de-serialization
Remove warnings due to unneeded commas
Deserialize basic types in queries
Add dependencies chain for external libraries
Fixes wrong parameter passed to API
* Add the Possibility to fetch dependencies needed by the generated code
* Fix typo
* Make External Libraries default to false
* Add parameter string to the javadoc comment
* Added missing includes for optional
* Removed shared pointer from pistache generator
* Changed Net namespace to Pistache Namespace
* Clean up code and removed unnecessary lines in mustache files
* Removed remaining shared pointer syntax
* Code review fixes + updated samples
* Added const to all model setter functions, and reference to all params in setters that are not primitives
* Refactored modelbase
* Removed const
* Updated samples