cpp-qt5-qhttpengine-server.helpers-body.mustache Maven / Gradle / Ivy
{{>licenseInfo}}
#include
#include "{{prefix}}Helpers.h"
{{#cppNamespaceDeclarations}}
namespace {{this}} {
{{/cppNamespaceDeclarations}}
QString
toStringValue(const QString &value) {
return value;
}
QString
toStringValue(const QDateTime &value){
// ISO 8601
return value.toString("yyyy-MM-ddTHH:mm:ss[Z|[+|-]HH:mm]");
}
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(value));
}
QString
toStringValue(const double &value){
return QString::number(value);
}
QString
toStringValue(const {{prefix}}Enum &value){
return value.asJson();
}
QJsonValue
toJsonValue(const QString &value){
return QJsonValue(value);
}
QJsonValue
toJsonValue(const QDateTime &value){
return QJsonValue(value.toString(Qt::ISODate));
}
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(value));
}
QJsonValue
toJsonValue(const double &value){
return QJsonValue(value);
}
QJsonValue
toJsonValue(const {{prefix}}Object &value){
return value.asJsonObject();
}
QJsonValue
toJsonValue(const {{prefix}}Enum &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 = QDateTime::fromString(inStr, "yyyy-MM-ddTHH:mm:ss[Z|[+|-]HH:mm]");
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, {{prefix}}Enum &value){
value.fromJson(inStr);
return true;
}
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 = QDateTime::fromString(jval.toString(), Qt::ISODate);
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(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({{prefix}}Object &value, const QJsonValue &jval){
bool ok = true;
if(jval.isObject()){
value.fromJsonObject(jval.toObject());
ok = value.isValid();
} else {
ok = false;
}
return ok;
}
bool
fromJsonValue({{prefix}}Enum &value, const QJsonValue &jval){
value.fromJsonValue(jval);
return true;
}
{{#cppNamespaceDeclarations}}
}
{{/cppNamespaceDeclarations}}