Pretty result usage, try to split Core class to several

This commit is contained in:
2017-10-28 12:28:05 +03:00
parent bdb1dd0101
commit 2bd72344ba
33 changed files with 2238 additions and 1343 deletions

View File

@ -31,15 +31,15 @@ QueuedctlCommon::QueuedctlResult QueuedctlAuth::auth(const QString &_user,
QueuedctlCommon::QueuedctlResult output;
auto res = QueuedCoreAdaptor::auth(_user, QueuedctlUser::getPassword());
Result::match(res,
[&output, &_user, &_cache](const QString &val) {
setToken(val, _user, _cache);
output.status = true;
},
[&output](const QueuedError &err) {
output.status = false;
output.output = err.message().c_str();
});
res.match(
[&output, &_user, &_cache](const QString &val) {
setToken(val, _user, _cache);
output.status = true;
},
[&output](const QueuedError &err) {
output.status = false;
output.output = err.message().c_str();
});
return output;
}

View File

@ -236,11 +236,10 @@ QueuedctlCommon::process(QCommandLineParser &_parser, const QString &_cache,
case QueuedctlArgument::PermissionAdd: {
auto userIdRes = QueuedCoreAdaptor::getUserId(args.at(1));
long long userId = -1;
Result::match(userIdRes,
[&userId](const long long val) { userId = val; },
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
userIdRes.match([&userId](const long long val) { userId = val; },
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
if (userId == -1)
break;
QString token = QueuedctlAuth::getToken(_cache, _user);
@ -250,11 +249,10 @@ QueuedctlCommon::process(QCommandLineParser &_parser, const QString &_cache,
case QueuedctlArgument::PermissionRemove: {
auto userIdRes = QueuedCoreAdaptor::getUserId(args.at(1));
long long userId = -1;
Result::match(userIdRes,
[&userId](const long long val) { userId = val; },
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
userIdRes.match([&userId](const long long val) { userId = val; },
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
if (userId == -1)
break;
QString token = QueuedctlAuth::getToken(_cache, _user);
@ -283,14 +281,14 @@ QueuedctlCommon::process(QCommandLineParser &_parser, const QString &_cache,
}
case QueuedctlArgument::Status: {
auto res = QueuedCoreAdaptor::getStatus();
Result::match(res,
[&result](const QueuedStatusMap &val) {
result.status = true;
result.output = hashHashToString(val);
},
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
res.match(
[&result](const QueuedStatusMap &val) {
result.status = true;
result.output = hashHashToString(val);
},
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
break;
}
case QueuedctlArgument::TaskAdd: {
@ -334,11 +332,10 @@ QueuedctlCommon::process(QCommandLineParser &_parser, const QString &_cache,
case QueuedctlArgument::UserGet: {
auto userIdRes = QueuedCoreAdaptor::getUserId(args.at(1));
long long userId = -1;
Result::match(userIdRes,
[&userId](const long long val) { userId = val; },
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
userIdRes.match([&userId](const long long val) { userId = val; },
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
if (userId == -1)
break;
result = QueuedctlUser::getUser(userId, args.at(2));
@ -352,11 +349,10 @@ QueuedctlCommon::process(QCommandLineParser &_parser, const QString &_cache,
case QueuedctlArgument::UserSet: {
auto userIdRes = QueuedCoreAdaptor::getUserId(args.at(1));
long long userId = -1;
Result::match(userIdRes,
[&userId](const long long val) { userId = val; },
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
userIdRes.match([&userId](const long long val) { userId = val; },
[&result](const QueuedError &err) {
result.output = err.message().c_str();
});
if (userId == -1)
break;
QString token = QueuedctlAuth::getToken(_cache, _user);

View File

@ -28,10 +28,10 @@ QueuedctlOption::editOption(const QString &_option, const QVariant &_value,
QueuedctlCommon::QueuedctlResult output;
auto res = QueuedCoreAdaptor::sendOptionEdit(_option, _value, _token);
Result::match(res, [&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match([&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -44,14 +44,14 @@ QueuedctlOption::getOption(const QString &_option)
QueuedctlCommon::QueuedctlResult output;
auto res = QueuedCoreAdaptor::getOption(_option);
Result::match(res,
[&output](const QVariant &val) {
output.status = val.isValid();
output.output = val.toString();
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const QVariant &val) {
output.status = val.isValid();
output.output = val.toString();
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}

View File

@ -33,10 +33,10 @@ QueuedctlCommon::QueuedctlResult QueuedctlPermissions::addPermission(
} else {
auto res
= QueuedCoreAdaptor::sendUserPermissionAdd(_id, permission, _token);
Result::match(res, [&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match([&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
}
return output;
@ -56,10 +56,10 @@ QueuedctlCommon::QueuedctlResult QueuedctlPermissions::removePermission(
} else {
auto res = QueuedCoreAdaptor::sendUserPermissionRemove(_id, permission,
_token);
Result::match(res, [&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match([&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
}
return output;

View File

@ -28,10 +28,10 @@ QueuedctlPlugins::addPlugin(const QString &_plugin, const QString &_token)
auto res = QueuedCoreAdaptor::sendPluginAdd(_plugin, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res, [&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match([&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -43,14 +43,14 @@ QueuedctlCommon::QueuedctlResult QueuedctlPlugins::listPlugins()
= QueuedCoreAdaptor::getOption(QueuedConfig::QueuedSettings::Plugins);
QueuedctlCommon::QueuedctlResult output;
Result::match(res,
[&output](const QVariant &val) {
output.status = val.isValid();
output.output = val.toString();
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const QVariant &val) {
output.status = val.isValid();
output.output = val.toString();
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -64,10 +64,10 @@ QueuedctlPlugins::removePlugin(const QString &_plugin, const QString &_token)
auto res = QueuedCoreAdaptor::sendPluginRemove(_plugin, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res, [&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match([&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}

View File

@ -35,14 +35,14 @@ QueuedctlCommon::QueuedctlResult QueuedctlTask::addTask(
auto res = QueuedCoreAdaptor::sendTaskAdd(_definitions, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res,
[&output](const long long val) {
output.status = (val > 0);
output.output = QString::number(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const long long val) {
output.status = (val > 0);
output.output = QString::number(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -69,8 +69,7 @@ QueuedctlTask::getDefinitions(const QCommandLineParser &_parser,
definitions.user = 0;
} else {
auto res = QueuedCoreAdaptor::getUserId(_parser.value("task-user"));
Result::match(
res,
res.match(
[&definitions](const long long val) { definitions.user = val; },
[&definitions](const QueuedError &) { definitions.user = 0; });
}
@ -114,24 +113,24 @@ QueuedctlTask::getTask(const long long _id, const QString &_property)
if (_property.isEmpty()) {
auto res = QueuedCoreAdaptor::getTask(_id);
Result::match(res,
[&output](const QVariantHash &val) {
output.status = true;
output.output = QueuedctlCommon::hashToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const QVariantHash &val) {
output.status = true;
output.output = QueuedctlCommon::hashToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
} else {
auto res = QueuedCoreAdaptor::getTask(_id, _property);
Result::match(res,
[&output](const QVariant &val) {
output.status = val.isValid();
output.output = val.toString();
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const QVariant &val) {
output.status = val.isValid();
output.output = val.toString();
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
}
return output;
@ -145,8 +144,8 @@ QueuedctlTask::getTasks(const QCommandLineParser &_parser,
long long userId = -1;
if (!_parser.value("task-user").isEmpty()) {
auto res = QueuedCoreAdaptor::getUserId(_parser.value("task-user"));
Result::match(res, [&userId](const long long val) { userId = val; },
[&userId](const QueuedError &) {});
res.match([&userId](const long long val) { userId = val; },
[&userId](const QueuedError &) {});
}
QDateTime stop
= QDateTime::fromString(_parser.value("stop"), Qt::ISODateWithMs);
@ -156,14 +155,14 @@ QueuedctlTask::getTasks(const QCommandLineParser &_parser,
QueuedctlCommon::QueuedctlResult output;
auto res = QueuedCoreAdaptor::getTasks(userId, start, stop, _token);
Result::match(res,
[&output](const QList<QVariantHash> &val) {
output.status = true;
output.output = QueuedctlCommon::hashListToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const QList<QVariantHash> &val) {
output.status = true;
output.output = QueuedctlCommon::hashListToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -310,10 +309,10 @@ QueuedctlCommon::QueuedctlResult QueuedctlTask::setTask(
auto res = QueuedCoreAdaptor::sendTaskEdit(_id, _definitions, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res, [&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match([&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -327,10 +326,10 @@ QueuedctlCommon::QueuedctlResult QueuedctlTask::startTask(const long long _id,
auto res = QueuedCoreAdaptor::sendTaskStart(_id, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res, [&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match([&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -344,10 +343,10 @@ QueuedctlCommon::QueuedctlResult QueuedctlTask::stopTask(const long long _id,
auto res = QueuedCoreAdaptor::sendTaskStart(_id, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res, [&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match([&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}

View File

@ -37,14 +37,14 @@ QueuedctlUser::addUser(const QueuedUser::QueuedUserDefinitions &_definitions,
auto res = QueuedCoreAdaptor::sendUserAdd(_definitions, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res,
[&output](const long long val) {
output.status = (val > 0);
output.output = QString::number(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const long long val) {
output.status = (val > 0);
output.output = QString::number(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -64,14 +64,14 @@ QueuedctlUser::getReport(const QCommandLineParser &_parser,
auto res = QueuedCoreAdaptor::getPerformance(start, stop, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res,
[&output](const QList<QVariantHash> &val) {
output.status = true;
output.output = QueuedctlCommon::hashListToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const QList<QVariantHash> &val) {
output.status = true;
output.output = QueuedctlCommon::hashListToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -88,12 +88,12 @@ QueuedctlUser::getDefinitions(const QCommandLineParser &_parser,
// define password first
definitions.password = _parser.isSet("stdin-password")
? getPassword()
: _parser.value("password");
? getPassword()
: _parser.value("password");
auto res = QueuedCoreAdaptor::sendPasswordHash(definitions.password);
Result::match(
res, [&definitions](const QString &val) { definitions.password = val; },
[](const QueuedError &) {});
res.match(
[&definitions](const QString &val) { definitions.password = val; },
[&definitions](const QueuedError &) { definitions.password = ""; });
definitions.email = _parser.value("email");
// limits now
@ -144,24 +144,24 @@ QueuedctlUser::getUser(const long long _id, const QString &_property)
if (_property.isEmpty()) {
auto res = QueuedCoreAdaptor::getUser(_id);
Result::match(res,
[&output](const QVariantHash &val) {
output.status = true;
output.output = QueuedctlCommon::hashToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const QVariantHash &val) {
output.status = true;
output.output = QueuedctlCommon::hashToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
} else {
auto res = QueuedCoreAdaptor::getUser(_id, _property);
Result::match(res,
[&output](const QVariant &val) {
output.status = val.isValid();
output.output = val.toString();
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const QVariant &val) {
output.status = val.isValid();
output.output = val.toString();
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
}
return output;
@ -182,14 +182,14 @@ QueuedctlUser::getUsers(const QCommandLineParser &_parser,
auto res = QueuedCoreAdaptor::getUsers(lastLogin, permission, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res,
[&output](const QList<QVariantHash> &val) {
output.status = true;
output.output = QueuedctlCommon::hashListToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match(
[&output](const QList<QVariantHash> &val) {
output.status = true;
output.output = QueuedctlCommon::hashListToString(val);
},
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}
@ -326,10 +326,10 @@ QueuedctlUser::setUser(const long long _id,
auto res = QueuedCoreAdaptor::sendUserEdit(_id, _definitions, _token);
QueuedctlCommon::QueuedctlResult output;
Result::match(res, [&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
res.match([&output](const bool val) { output.status = val; },
[&output](const QueuedError &err) {
output.output = err.message().c_str();
});
return output;
}