From c5bf9440173326783ef1f4eff7aff616ecb660aa Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Fri, 17 Nov 2017 15:58:37 -0500 Subject: [PATCH] [API CHANGE] Add a new API call for sysadm/update: action="applyupdate". This takes no other inputs, and returns the following: { "applyupdate" : { "result" : "rebooting to apply updates" } } --- src/server/WebBackend.cpp | 4 ++++ src/server/library/sysadm-update.cpp | 6 ++++++ src/server/library/sysadm-update.h | 1 + 3 files changed, 11 insertions(+) diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index 067ff17..fed348d 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -650,6 +650,10 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmUpdateRequest(const QJsonVal ok = true; out->insert("stopupdate", sysadm::Update::stopUpdate() ); + }else if(act=="applyupdate"){ + ok = true; + out->insert("applyupdate", sysadm::Update::applyUpdates() ); + }else if(act=="listsettings"){ ok = true; out->insert("listsettings", sysadm::Update::readSettings() ); diff --git a/src/server/library/sysadm-update.cpp b/src/server/library/sysadm-update.cpp index 2b5220f..2bd5238 100644 --- a/src/server/library/sysadm-update.cpp +++ b/src/server/library/sysadm-update.cpp @@ -267,6 +267,12 @@ QJsonObject Update::stopUpdate() { return ret; } +QJsonObject Update::applyUpdates(){ + QJsonObject ret; + QProcess::startDetached("pc-updatemanager startupdate"); + ret.insert("result","rebooting to complete updates"); + return ret; +} //SETTINGS OPTIONS QJsonObject Update::readSettings(){ QJsonObject ret; diff --git a/src/server/library/sysadm-update.h b/src/server/library/sysadm-update.h index 183fc7f..07ac009 100644 --- a/src/server/library/sysadm-update.h +++ b/src/server/library/sysadm-update.h @@ -25,6 +25,7 @@ public: //Start/stop update routine static QJsonObject startUpdate(QJsonObject); static QJsonObject stopUpdate(); + static QJsonObject applyUpdates(); //Read/write update settings static QJsonObject readSettings(); static QJsonObject writeSettings(QJsonObject);