Files
openapi-generator/samples/client/petstore/qt5cpp/client/OAIStoreApi.cpp
William Cheng a9fa4cd0db Update default value for C++ related generator (#373)
* udpate default value for cpp, remove unused imports

* update cpprest template

* update tizen default value

* update cpp restbed default value

* update qt5cpp samples

* update pistache samples

* regenerate restbed ignore file
2018-05-08 22:10:40 +08:00

256 lines
6.8 KiB
C++

/**
* OpenAPI Petstore
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#include "OAIStoreApi.h"
#include "OAIHelpers.h"
#include "OAIModelFactory.h"
#include "OAIQObjectWrapper.h"
#include <QJsonArray>
#include <QJsonDocument>
namespace OpenAPI {
OAIStoreApi::OAIStoreApi() {}
OAIStoreApi::~OAIStoreApi() {}
OAIStoreApi::OAIStoreApi(QString host, QString basePath) {
this->host = host;
this->basePath = basePath;
}
void
OAIStoreApi::deleteOrder(QString* order_id) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/store/order/{orderId}");
QString order_idPathParam("{"); order_idPathParam.append("orderId").append("}");
fullPath.replace(order_idPathParam, stringValue(order_id));
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker();
OAIHttpRequestInput input(fullPath, "DELETE");
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&OAIHttpRequestWorker::on_execution_finished,
this,
&OAIStoreApi::deleteOrderCallback);
worker->execute(&input);
}
void
OAIStoreApi::deleteOrderCallback(OAIHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit deleteOrderSignal();
} else {
emit deleteOrderSignalE(error_type, error_str);
emit deleteOrderSignalEFull(worker, error_type, error_str);
}
}
void
OAIStoreApi::getInventory() {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/store/inventory");
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker();
OAIHttpRequestInput input(fullPath, "GET");
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&OAIHttpRequestWorker::on_execution_finished,
this,
&OAIStoreApi::getInventoryCallback);
worker->execute(&input);
}
void
OAIStoreApi::getInventoryCallback(OAIHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QMap<QString, qint32>* output = new QMap<QString, qint32>();
QString json(worker->response);
QByteArray array (json.toStdString().c_str());
QJsonDocument doc = QJsonDocument::fromJson(array);
QJsonObject obj = doc.object();
foreach(QString key, obj.keys()) {
qint32 val;
setValue(&val, obj[key], "qint32", QString());
output->insert(key, val);
}
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit getInventorySignal(output);
} else {
emit getInventorySignalE(output, error_type, error_str);
emit getInventorySignalEFull(worker, error_type, error_str);
}
}
void
OAIStoreApi::getOrderById(qint64 order_id) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/store/order/{orderId}");
QString order_idPathParam("{"); order_idPathParam.append("orderId").append("}");
fullPath.replace(order_idPathParam, stringValue(order_id));
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker();
OAIHttpRequestInput input(fullPath, "GET");
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&OAIHttpRequestWorker::on_execution_finished,
this,
&OAIStoreApi::getOrderByIdCallback);
worker->execute(&input);
}
void
OAIStoreApi::getOrderByIdCallback(OAIHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
OAIOrder* output = static_cast<OAIOrder*>(create(json, QString("OAIOrder")));
auto wrapper = new OAIQObjectWrapper<OAIOrder*> (output);
wrapper->deleteLater();
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit getOrderByIdSignal(output);
} else {
emit getOrderByIdSignalE(output, error_type, error_str);
emit getOrderByIdSignalEFull(worker, error_type, error_str);
}
}
void
OAIStoreApi::placeOrder(std::shared_ptr<OAIOAIOrder>& oai_order) {
QString fullPath;
fullPath.append(this->host).append(this->basePath).append("/store/order");
OAIHttpRequestWorker *worker = new OAIHttpRequestWorker();
OAIHttpRequestInput input(fullPath, "POST");
QString output = oai_order.asJson();
input.request_body.append(output);
foreach(QString key, this->defaultHeaders.keys()) {
input.headers.insert(key, this->defaultHeaders.value(key));
}
connect(worker,
&OAIHttpRequestWorker::on_execution_finished,
this,
&OAIStoreApi::placeOrderCallback);
worker->execute(&input);
}
void
OAIStoreApi::placeOrderCallback(OAIHttpRequestWorker * worker) {
QString msg;
QString error_str = worker->error_str;
QNetworkReply::NetworkError error_type = worker->error_type;
if (worker->error_type == QNetworkReply::NoError) {
msg = QString("Success! %1 bytes").arg(worker->response.length());
}
else {
msg = "Error: " + worker->error_str;
}
QString json(worker->response);
OAIOrder* output = static_cast<OAIOrder*>(create(json, QString("OAIOrder")));
auto wrapper = new OAIQObjectWrapper<OAIOrder*> (output);
wrapper->deleteLater();
worker->deleteLater();
if (worker->error_type == QNetworkReply::NoError) {
emit placeOrderSignal(output);
} else {
emit placeOrderSignalE(output, error_type, error_str);
emit placeOrderSignalEFull(worker, error_type, error_str);
}
}
}