aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/{{base}}.cpp.mustache
diff options
context:
space:
mode:
Diffstat (limited to 'lib/csapi/{{base}}.cpp.mustache')
-rw-r--r--lib/csapi/{{base}}.cpp.mustache182
1 files changed, 0 insertions, 182 deletions
diff --git a/lib/csapi/{{base}}.cpp.mustache b/lib/csapi/{{base}}.cpp.mustache
deleted file mode 100644
index b3bd4de9..00000000
--- a/lib/csapi/{{base}}.cpp.mustache
+++ /dev/null
@@ -1,182 +0,0 @@
-{{>preamble}}
-#include "{{filenameBase}}.h"
-{{^models}}
-#include "converters.h"{{/models}}
-{{#operations}}
- {{#producesNonJson?}}
-#include <QtNetwork/QNetworkReply>
- {{/producesNonJson?}}
-#include <QtCore/QStringBuilder>
-{{/operations}}
-
-using namespace Quotient;
-
-{{#models.model}}
- {{#in?}}
-void JsonObjectConverter<{{qualifiedName}}>::dumpTo(
- QJsonObject& jo, const {{qualifiedName}}& pod)
-{ {{#propertyMap}}
- fillJson(jo, pod.{{nameCamelCase}});
- {{/propertyMap}}{{#parents}}
- fillJson<{{name}}>(jo, pod);
- {{/parents}}{{#vars}}
- addParam<{{^required?}}IfNotEmpty{{/required?}}>(jo,
- QStringLiteral("{{baseName}}"), pod.{{nameCamelCase}});
- {{/vars}}
-}
- {{/in?}}
-
- {{#out?}}
-void JsonObjectConverter<{{qualifiedName}}>::fillFrom(
- {{>maybeCrefJsonObject}} jo, {{qualifiedName}}& result)
-{ {{#parents}}
- fillFromJson<{{qualifiedName}}>(jo, result);
- {{/parents}}{{#vars}}
- fromJson(jo.{{>takeOrValue}}("{{baseName}}"_ls), result.{{nameCamelCase}});
- {{/vars}}{{#propertyMap}}
- fromJson(jo, result.{{nameCamelCase}});
- {{/propertyMap}}
-}
- {{/out?}}
-
-{{/models.model}}
-{{#operations}}
-
-static const auto basePath = QStringLiteral("{{basePathWithoutHost}}");
- {{#operation}}{{#models}}
-
-// Converters
-namespace Quotient {
- {{#model}}
-
-template <> struct JsonObjectConverter<{{qualifiedName}}> {
- {{#in?}}
- static void dumpTo(QJsonObject& jo, const {{qualifiedName}}& pod)
- { {{#propertyMap}}
- fillJson(jo, pod.{{nameCamelCase}});
- {{/propertyMap}}{{#parents}}
- fillJson<{{name}}>(jo, pod);
- {{/parents}}{{#vars}}
- addParam<{{^required?}}IfNotEmpty{{/required?}}>(jo,
- QStringLiteral("{{baseName}}"), pod.{{nameCamelCase}});
- {{/vars}}
- }
- {{/in?}}
- {{#out?}}
- static void fillFrom({{>maybeCrefJsonObject}} jo, {{qualifiedName}}& result)
- { {{#parents}}
- fillFromJson<{{qualifiedName}}{{!of the parent!}}>(jo, result);
- {{/parents}}{{#vars}}
- fromJson(jo.{{>takeOrValue}}("{{baseName}}"_ls),
- result.{{nameCamelCase}});
- {{/vars}}{{#propertyMap}}
- fromJson(jo, result.{{nameCamelCase}});
- {{/propertyMap}}
- }
- {{/out?}}
-};
- {{/model}}
-
-} // namespace Quotient
- {{/models}}
- {{#responses}}{{#normalResponse?}}{{#allProperties?}}
-
-class {{camelCaseOperationId}}Job::Private
-{
- public:{{#allProperties}}
- {{>maybeOmittableType}} {{paramName}};{{/allProperties}}
-};
- {{/allProperties?}}{{/normalResponse?}}{{/responses}}
- {{#queryParams?}}
-
-BaseJob::Query queryTo{{camelCaseOperationId}}(
- {{#queryParams}}{{>joinedParamDef}}{{/queryParams}})
-{
- BaseJob::Query _q;{{#queryParams}}
- addParam<{{^required?}}IfNotEmpty{{/required?}}>(_q,
- QStringLiteral("{{baseName}}"), {{paramName}});{{/queryParams}}
- return _q;
-}
- {{/queryParams?}}
- {{^bodyParams}}
-
-QUrl {{camelCaseOperationId}}Job::makeRequestUrl(QUrl baseUrl{{#allParams?}},
- {{#allParams}}{{>joinedParamDef}}{{/allParams}}{{/allParams?}})
-{
- return BaseJob::makeRequestUrl(std::move(baseUrl),
- basePath{{#pathParts}} % {{_}}{{/pathParts}}{{#queryParams?}},
- queryTo{{camelCaseOperationId}}({{>passQueryParams}}){{/queryParams?}});
-} {{/bodyParams}}
-
-{{camelCaseOperationId}}Job::{{camelCaseOperationId}}Job(
- {{#allParams}}{{>joinedParamDef}}{{/allParams}})
- : BaseJob(HttpVerb::{{#_cap}}{{#_tolower}}{{httpMethod}}{{/_tolower}}{{/_cap}},
- QStringLiteral("{{camelCaseOperationId}}Job"), {{!object name}}
- basePath{{#pathParts}} % {{_}}{{/pathParts}} {{!API endpoint}}
- {{#queryParams?
- }} , queryTo{{camelCaseOperationId}}({{>passQueryParams}})
- {{/queryParams?
- }}{{#skipAuth}}{{#queryParams?}}, {}{{/queryParams?}}, false{{/skipAuth}} )
- {{#responses}}{{#normalResponse?}}{{#allProperties?
- }}, d(new Private){{/allProperties?}}{{/normalResponse?}}{{/responses}}
-{ {{#headerParams}}
- setRequestHeader("{{baseName}}", {{paramName}}.toLatin1());
- {{/headerParams}}{{#bodyParams?}}
- {{#inlineBody}}
- setRequestData(Data({{!avoid extra linebreaks}}{{
- #consumesNonJson?}}{{nameCamelCase}}{{/consumesNonJson?}}{{
- ^consumesNonJson?}}toJson({{nameCamelCase}}){{/consumesNonJson?
- }}));
- {{/inlineBody}}{{^inlineBody}}
- QJsonObject _data;
- {{#bodyParams}}
- addParam<{{^required?}}IfNotEmpty{{/required?}}>(_data,
- QStringLiteral("{{baseName}}"), {{paramName}});
- {{/bodyParams}}
- setRequestData(_data);
- {{/inlineBody}}
- {{/bodyParams?}}{{#producesNonJson?}}
- setExpectedContentTypes({ {{#produces}}"{{_}}"{{>cjoin}}{{/produces}} });
- {{/producesNonJson?}}
-}
- {{#responses}}{{#normalResponse?}}{{#allProperties?}}
-
-{{camelCaseOperationId}}Job::~{{camelCaseOperationId}}Job() = default;
- {{#allProperties}}
-
-{{>qualifiedMaybeCrefType}}
- {{camelCaseOperationId}}Job::{{paramName}}(){{^moveOnly}} const{{/moveOnly}}
-{
- return {{#moveOnly}}std::move({{/moveOnly}}d->{{paramName}}{{#moveOnly}}){{/moveOnly}};
-}
- {{/allProperties}}
-
- {{#producesNonJson?}}
-BaseJob::Status {{camelCaseOperationId}}Job::parseReply(QNetworkReply* reply)
-{
- {{! We don't check for required headers yet }}
- {{#headers}}d->{{paramName}} = reply->rawHeader("{{baseName}}");
- {{/headers}}{{#properties}}d->{{paramName}} = reply;{{/properties}}
- return Success;
-}
- {{/producesNonJson?}}{{^producesNonJson?}}
-BaseJob::Status {{camelCaseOperationId}}Job::parseJson(const QJsonDocument& data)
-{
- {{#inlineResponse}}
- fromJson(data, d->{{paramName}});
- {{/inlineResponse}}{{^inlineResponse}}
- auto json = data.object();
- {{#properties}}{{#required?}}
- if (!json.contains("{{baseName}}"_ls))
- return { IncorrectResponse,
- "The key '{{baseName}}' not found in the response" };
- {{/required?}}
- fromJson(json.value("{{baseName}}"_ls), d->{{paramName}});
- {{/properties}}
- {{/inlineResponse}}
-
- return Success;
-}
- {{/producesNonJson?}}
- {{/allProperties?}}{{/normalResponse?}}{{/responses}}
-{{/operation}}{{/operations}}