forked from loafle/openapi-generator-original
368 lines
9.5 KiB
C++
368 lines
9.5 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.
|
|
*
|
|
* The version of the OpenAPI document: 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 <QDebug>
|
|
#include <QJsonParseError>
|
|
#include "PFXHelpers.h"
|
|
|
|
namespace test_namespace {
|
|
|
|
class PFXSerializerSettings {
|
|
public:
|
|
static void setDateTimeFormat(const QString & dtFormat){
|
|
getInstance()->dateTimeFormat = dtFormat;
|
|
}
|
|
static QString getDateTimeFormat() {
|
|
return getInstance()->dateTimeFormat;
|
|
}
|
|
static PFXSerializerSettings *getInstance(){
|
|
if(instance == nullptr){
|
|
instance = new PFXSerializerSettings();
|
|
}
|
|
return instance;
|
|
}
|
|
private:
|
|
explicit PFXSerializerSettings(){
|
|
instance = this;
|
|
dateTimeFormat.clear();
|
|
}
|
|
static PFXSerializerSettings *instance;
|
|
QString dateTimeFormat;
|
|
};
|
|
|
|
PFXSerializerSettings * PFXSerializerSettings::instance = nullptr;
|
|
|
|
bool setDateTimeFormat(const QString& dateTimeFormat){
|
|
bool success = false;
|
|
auto dt = QDateTime::fromString(QDateTime::currentDateTime().toString(dateTimeFormat), dateTimeFormat);
|
|
if(dt.isValid()){
|
|
success = true;
|
|
PFXSerializerSettings::setDateTimeFormat(dateTimeFormat);
|
|
}
|
|
return success;
|
|
}
|
|
|
|
|
|
QString toStringValue(const QString &value) {
|
|
return value;
|
|
}
|
|
|
|
QString toStringValue(const QDateTime &value) {
|
|
// ISO 8601
|
|
return PFXSerializerSettings::getInstance()->getDateTimeFormat().isEmpty()? value.toString(Qt::ISODate):value.toString(PFXSerializerSettings::getInstance()->getDateTimeFormat());
|
|
}
|
|
|
|
QString toStringValue(const QByteArray &value) {
|
|
return QString(value);
|
|
}
|
|
|
|
QString toStringValue(const QDate &value) {
|
|
// ISO 8601
|
|
return value.toString(Qt::DateFormat::ISODate);
|
|
}
|
|
|
|
QString toStringValue(const qint32 &value) {
|
|
return QString::number(value);
|
|
}
|
|
|
|
QString toStringValue(const qint64 &value) {
|
|
return QString::number(value);
|
|
}
|
|
|
|
QString toStringValue(const bool &value) {
|
|
return QString(value ? "true" : "false");
|
|
}
|
|
|
|
QString toStringValue(const float &value) {
|
|
return QString::number(static_cast<double>(value));
|
|
}
|
|
|
|
QString toStringValue(const double &value) {
|
|
return QString::number(value);
|
|
}
|
|
|
|
QString toStringValue(const PFXObject &value) {
|
|
return value.asJson();
|
|
}
|
|
|
|
QString toStringValue(const PFXEnum &value) {
|
|
return value.asJson();
|
|
}
|
|
|
|
QString toStringValue(const PFXHttpFileElement &value) {
|
|
return value.asJson();
|
|
}
|
|
|
|
QJsonValue toJsonValue(const QString &value) {
|
|
return QJsonValue(value);
|
|
}
|
|
|
|
QJsonValue toJsonValue(const QDateTime &value) {
|
|
return QJsonValue(value.toString(PFXSerializerSettings::getInstance()->getDateTimeFormat().isEmpty()?value.toString(Qt::ISODate):value.toString(PFXSerializerSettings::getInstance()->getDateTimeFormat())));
|
|
}
|
|
|
|
QJsonValue toJsonValue(const QByteArray &value) {
|
|
return QJsonValue(QString(value.toBase64()));
|
|
}
|
|
|
|
QJsonValue toJsonValue(const QDate &value) {
|
|
return QJsonValue(value.toString(Qt::ISODate));
|
|
}
|
|
|
|
QJsonValue toJsonValue(const qint32 &value) {
|
|
return QJsonValue(value);
|
|
}
|
|
|
|
QJsonValue toJsonValue(const qint64 &value) {
|
|
return QJsonValue(value);
|
|
}
|
|
|
|
QJsonValue toJsonValue(const bool &value) {
|
|
return QJsonValue(value);
|
|
}
|
|
|
|
QJsonValue toJsonValue(const float &value) {
|
|
return QJsonValue(static_cast<double>(value));
|
|
}
|
|
|
|
QJsonValue toJsonValue(const double &value) {
|
|
return QJsonValue(value);
|
|
}
|
|
|
|
QJsonValue toJsonValue(const PFXObject &value) {
|
|
return value.asJsonObject();
|
|
}
|
|
|
|
QJsonValue toJsonValue(const PFXEnum &value) {
|
|
return value.asJsonValue();
|
|
}
|
|
|
|
QJsonValue toJsonValue(const PFXHttpFileElement &value) {
|
|
return value.asJsonValue();
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, QString &value) {
|
|
value.clear();
|
|
value.append(inStr);
|
|
return !inStr.isEmpty();
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, QDateTime &value) {
|
|
if (inStr.isEmpty()) {
|
|
return false;
|
|
} else {
|
|
auto dateTime = PFXSerializerSettings::getInstance()->getDateTimeFormat().isEmpty()?QDateTime::fromString(inStr, Qt::ISODate) :QDateTime::fromString(inStr, PFXSerializerSettings::getInstance()->getDateTimeFormat());
|
|
if (dateTime.isValid()) {
|
|
value.setDate(dateTime.date());
|
|
value.setTime(dateTime.time());
|
|
} else {
|
|
qDebug() << "DateTime is invalid";
|
|
}
|
|
return dateTime.isValid();
|
|
}
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, QByteArray &value) {
|
|
if (inStr.isEmpty()) {
|
|
return false;
|
|
} else {
|
|
value.clear();
|
|
value.append(inStr.toUtf8());
|
|
return value.count() > 0;
|
|
}
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, QDate &value) {
|
|
if (inStr.isEmpty()) {
|
|
return false;
|
|
} else {
|
|
auto date = QDate::fromString(inStr, Qt::DateFormat::ISODate);
|
|
if (date.isValid()) {
|
|
value.setDate(date.year(), date.month(), date.day());
|
|
} else {
|
|
qDebug() << "Date is invalid";
|
|
}
|
|
return date.isValid();
|
|
}
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, qint32 &value) {
|
|
bool ok = false;
|
|
value = QVariant(inStr).toInt(&ok);
|
|
return ok;
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, qint64 &value) {
|
|
bool ok = false;
|
|
value = QVariant(inStr).toLongLong(&ok);
|
|
return ok;
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, bool &value) {
|
|
value = QVariant(inStr).toBool();
|
|
return ((inStr == "true") || (inStr == "false"));
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, float &value) {
|
|
bool ok = false;
|
|
value = QVariant(inStr).toFloat(&ok);
|
|
return ok;
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, double &value) {
|
|
bool ok = false;
|
|
value = QVariant(inStr).toDouble(&ok);
|
|
return ok;
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, PFXObject &value)
|
|
{
|
|
QJsonParseError err;
|
|
QJsonDocument::fromJson(inStr.toUtf8(),&err);
|
|
if ( err.error == QJsonParseError::NoError ){
|
|
value.fromJson(inStr);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, PFXEnum &value) {
|
|
value.fromJson(inStr);
|
|
return true;
|
|
}
|
|
|
|
bool fromStringValue(const QString &inStr, PFXHttpFileElement &value) {
|
|
return value.fromStringValue(inStr);
|
|
}
|
|
|
|
bool fromJsonValue(QString &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (!jval.isUndefined() && !jval.isNull()) {
|
|
if (jval.isString()) {
|
|
value = jval.toString();
|
|
} else if (jval.isBool()) {
|
|
value = jval.toBool() ? "true" : "false";
|
|
} else if (jval.isDouble()) {
|
|
value = QString::number(jval.toDouble());
|
|
} else {
|
|
ok = false;
|
|
}
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(QDateTime &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (!jval.isUndefined() && !jval.isNull() && jval.isString()) {
|
|
value = PFXSerializerSettings::getInstance()->getDateTimeFormat().isEmpty()?QDateTime::fromString(jval.toString(), Qt::ISODate): QDateTime::fromString(jval.toString(), PFXSerializerSettings::getInstance()->getDateTimeFormat());
|
|
ok = value.isValid();
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(QByteArray &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (!jval.isUndefined() && !jval.isNull() && jval.isString()) {
|
|
value = QByteArray::fromBase64(QByteArray::fromStdString(jval.toString().toStdString()));
|
|
ok = value.size() > 0;
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(QDate &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (!jval.isUndefined() && !jval.isNull() && jval.isString()) {
|
|
value = QDate::fromString(jval.toString(), Qt::ISODate);
|
|
ok = value.isValid();
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(qint32 &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (!jval.isUndefined() && !jval.isNull() && !jval.isObject() && !jval.isArray()) {
|
|
value = jval.toInt();
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(qint64 &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (!jval.isUndefined() && !jval.isNull() && !jval.isObject() && !jval.isArray()) {
|
|
value = jval.toVariant().toLongLong();
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(bool &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (jval.isBool()) {
|
|
value = jval.toBool();
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(float &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (jval.isDouble()) {
|
|
value = static_cast<float>(jval.toDouble());
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(double &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (jval.isDouble()) {
|
|
value = jval.toDouble();
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(PFXObject &value, const QJsonValue &jval) {
|
|
bool ok = true;
|
|
if (jval.isObject()) {
|
|
value.fromJsonObject(jval.toObject());
|
|
ok = value.isValid();
|
|
} else {
|
|
ok = false;
|
|
}
|
|
return ok;
|
|
}
|
|
|
|
bool fromJsonValue(PFXEnum &value, const QJsonValue &jval) {
|
|
value.fromJsonValue(jval);
|
|
return true;
|
|
}
|
|
|
|
bool fromJsonValue(PFXHttpFileElement &value, const QJsonValue &jval) {
|
|
return value.fromJsonValue(jval);
|
|
}
|
|
|
|
} // namespace test_namespace
|