2021-03-24 19:04:03 +00:00
|
|
|
using namespace {{dtoNamespace}};
|
|
|
|
|
|
|
|
{{#each endpoints as |e|}}
|
|
|
|
class {{e.name}} {
|
|
|
|
public:
|
|
|
|
|
|
|
|
{{#each e.parameters as |param|}}
|
2021-03-25 16:32:00 +00:00
|
|
|
|
2021-03-24 19:04:03 +00:00
|
|
|
/**
|
|
|
|
* @brief {{param.description}}
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2021-03-25 16:32:00 +00:00
|
|
|
{{#if param.required}}
|
|
|
|
const {{param.type.typeNameWithQualifiers}} &{{param.type.name}}() const;
|
|
|
|
void set{{param.type.writeName}}({{param.type.typeNameWithQualifiers}} new{{param.type.writeName}});
|
|
|
|
|
|
|
|
{{else}}
|
|
|
|
const {{param.type.typeName}} &{{param.type.name}}() const;
|
|
|
|
void set{{param.type.writeName}}({{param.type.typeName}} new{{param.type.writeName}});
|
|
|
|
bool {{param.type.name}}Null() const;
|
|
|
|
void set{{param.type.writeName}}Null();
|
|
|
|
|
|
|
|
{{/if}}
|
2021-03-24 19:04:03 +00:00
|
|
|
|
|
|
|
{{/each}}
|
|
|
|
|
|
|
|
private:
|
|
|
|
// Required path parameters
|
|
|
|
|
|
|
|
{{#each e.requiredPathParameters as |param|}}
|
|
|
|
{{param.type.typeNameWithQualifiers}} {{param.type.memberName}};
|
|
|
|
|
|
|
|
{{/each}}
|
|
|
|
|
|
|
|
// Required query parameters
|
|
|
|
|
|
|
|
{{#each e.requiredQueryParameters as |param|}}
|
|
|
|
{{param.type.typeNameWithQualifiers}} {{param.type.memberName}};
|
|
|
|
|
|
|
|
{{/each}}
|
|
|
|
|
|
|
|
// Optional query parameters
|
|
|
|
|
|
|
|
{{#each e.optionalQueryParameters as |param|}}
|
|
|
|
{{#if param.type.defaultInitializer.length > 0}}
|
|
|
|
{{param.type.typeNameWithQualifiers}} {{param.type.memberName}} = {{param.type.defaultInitializer}};
|
|
|
|
{{else}}
|
|
|
|
{{param.type.typeNameWithQualifiers}} {{param.type.memberName}};
|
|
|
|
{{/if}}
|
|
|
|
|
|
|
|
{{/each}}
|
|
|
|
|
2021-09-03 01:47:25 +00:00
|
|
|
{{#if e.bodyParameters.length > 0}}
|
|
|
|
// Body parameters
|
|
|
|
|
|
|
|
{{#if e.bodyParameters.length == 1}}
|
|
|
|
{{e.bodyParameters[0].type.typeNameWithQualifiers}} m_body;
|
|
|
|
|
|
|
|
{{else}}
|
|
|
|
//FIXME: Multiple body options not implemented.
|
|
|
|
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
|
2021-03-24 19:04:03 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
{{/each}}
|