Files

74 lines
2.2 KiB
Plaintext
Raw Permalink Normal View History

2026-02-28 04:15:12 -04:00
{{#models}}
{{#model}}
/*
* AUTO-GENERATED BY CppBeSsot.
* Direct edits are pointless: this file is regenerated.
* Update the OpenAPI schema and/or CppBeSsot templates, then regenerate generated-* outputs.
*/
2026-02-28 04:15:12 -04:00
#pragma once
#include <cstdint>
#include <string>
#include <nlohmann/json.hpp>
#include <odb/core.hxx>
2026-06-05 12:53:05 -04:00
{{#vars}}
{{#vendorExtensions.x-cppType}}
#include <cppbessot/model/{{vendorExtensions.x-cppType}}.h>
{{/vendorExtensions.x-cppType}}
{{/vars}}
2026-02-28 04:15:12 -04:00
namespace models {
{{#isEnum}}
enum class {{classname}}
{
{{#allowableValues}}
{{#enumVars}}
{{name}}{{^-last}},{{/-last}}
{{/enumVars}}
{{/allowableValues}}
};
{{/isEnum}}
{{^isEnum}}
#pragma db model version({{#vendorExtensions.x-odbModelVersion}}{{.}}{{/vendorExtensions.x-odbModelVersion}}{{^vendorExtensions.x-odbModelVersion}}1, 1{{/vendorExtensions.x-odbModelVersion}})
#pragma db object table("{{#vendorExtensions.x-odbTable}}{{.}}{{/vendorExtensions.x-odbTable}}{{^vendorExtensions.x-odbTable}}{{classname}}{{/vendorExtensions.x-odbTable}}")
class {{classname}}
{
public:
{{#vars}}
{{#vendorExtensions.x-odbId}}
#pragma db id
{{/vendorExtensions.x-odbId}}
{{#description}}
// {{description}}
{{/description}}
{{#vendorExtensions.x-odbAddedIn}}
// odbAddedIn: {{.}}
{{/vendorExtensions.x-odbAddedIn}}
2026-06-05 12:53:05 -04:00
{{#vendorExtensions.x-cppType}}{{vendorExtensions.x-cppType}}{{/vendorExtensions.x-cppType}}{{^vendorExtensions.x-cppType}}{{#isString}}std::string{{/isString}}{{^isString}}{{#isDateTime}}std::string{{/isDateTime}}{{^isDateTime}}{{#isBoolean}}bool{{/isBoolean}}{{^isBoolean}}{{#isInteger}}int32_t{{/isInteger}}{{^isInteger}}{{#isLong}}int64_t{{/isLong}}{{^isLong}}{{dataType}}{{/isLong}}{{/isInteger}}{{/isBoolean}}{{/isDateTime}}{{/isString}}{{/vendorExtensions.x-cppType}} {{nameInCamelCase}}{};
2026-02-28 04:15:12 -04:00
{{/vars}}
{{#vendorExtensions.x-dataModelUniqueConstraints}}
#pragma db index("{{name}}") unique {{odbMemberSpec}}
{{/vendorExtensions.x-dataModelUniqueConstraints}}
2026-02-28 04:15:12 -04:00
NLOHMANN_DEFINE_TYPE_INTRUSIVE({{classname}}{{#vars}}, {{nameInCamelCase}}{{/vars}})
nlohmann::json toJson() const
{
return nlohmann::json(*this);
}
static {{classname}} fromJson(const nlohmann::json& j)
{
return j.get<{{classname}}>();
}
};
{{/isEnum}}
} // namespace models
{{/model}}
{{/models}}