* 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>
* 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] 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.
* 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