From 44573977336dad62b9ffdda278b634f733e7e13b Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Tue, 9 Aug 2016 12:45:27 -0400 Subject: [PATCH] API CHANGE Add a new API call to the sysadm/update class for reading all the current settings. REST Request (example): ------------------------------- PUT /sysadm/update { "action" : "listsettings" } WebSocket Request: ------------------------------- { "args" : { "action" : "listsettings" }, "id" : "fooid", "namespace" : "sysadm", "name" : "update" } Response: ------------------------------- { "args": { "listsettings": { "maxbe": " 5", "package_set": " EDGE" } }, "id": "fooid", "name": "response", "namespace": "sysadm" } --- src/server/WebBackend.cpp | 4 ++++ src/server/library/sysadm-update.cpp | 30 ++++++++++++++++++++++++++++ src/server/library/sysadm-update.h | 4 ++++ 3 files changed, 38 insertions(+) diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index 46ff23a..620df6e 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -585,6 +585,10 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmUpdateRequest(const QJsonVal }else if(act=="stopupdate"){ ok = true; out->insert("stopupdate", sysadm::Update::stopUpdate() ); + + }else if(act=="listsettings"){ + ok = true; + out->insert("listsettings", sysadm::Update::readSettings() ); } } //end of "action" key usage diff --git a/src/server/library/sysadm-update.cpp b/src/server/library/sysadm-update.cpp index 482284a..eab6875 100644 --- a/src/server/library/sysadm-update.cpp +++ b/src/server/library/sysadm-update.cpp @@ -14,6 +14,8 @@ #define UP_RBFILE "/tmp/.rebootRequired" #define UP_UPFILE "/tmp/.updatesAvailable" +#define UP_CONFFILE "/usr/local/etc/trueos.conf" + using namespace sysadm; //PLEASE: Keep the functions in the same order as listed in pcbsd-general.h @@ -214,3 +216,31 @@ QJsonObject Update::stopUpdate() { } return ret; } + +//SETTINGS OPTIONS +QJsonObject Update::readSettings(){ + QJsonObject ret; + QStringList knownsettings; + knownsettings << "PACKAGE_SET" << "PACKAGE_URL" << "AUTO_UPDATE" << "MAXBE";// << "CDN_TYPE"; + + QStringList info = General::readTextFile(UP_CONFFILE); + for(int i=0; i