From cbd250edda82e8fe7a67d524444e4d2f3fdf62fe Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Mon, 28 Mar 2016 11:08:44 -0400 Subject: [PATCH] Add a new API call: sysadm/pkg, "action"="pkg_update". This will have pkg update it's databases if necessary (not typically used). Optional argument: "force" = "true" or "false" (default: "false"). If true, this will force pkg to completely re-sync all databases with all known repos (may take some time). NOTE: The actual information will be returned as a Dispatcher event - this API call just queues up the pkg operation (limitation of pkg - only one process call at a time) REST Request: ------------------------------- PUT /sysadm/pkg { "force" : "true", "action" : "pkg_update" } WebSocket Request: ------------------------------- { "id" : "fooid", "name" : "pkg", "namespace" : "sysadm", "args" : { "force" : "true", "action" : "pkg_update" } } Response: ------------------------------- { "args": { "pkg_update": { "proc_cmd": "pkg update -f", "proc_id": "sysadm_pkg_update-{8d65bbc5-fefc-4f34-8743-167e61a54c4c}", "status": "pending" } }, "id": "fooid", "name": "response", "namespace": "sysadm" } --- src/server/WebBackend.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index 3289d49..3f4fd54 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -752,7 +752,10 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmPkgRequest(const QJsonValue }else if(act=="pkg_unlock"){ }else if(act=="pkg_update"){ - + //OPTIONAL: "force" = ["true"/"false"] (default: "false") + bool force = false; + if(in_args.toObject().contains("force")){ force = in_args.toObject().value("force").toString()=="true"; } + out->insert("pkg_update", sysadm::PKG::pkg_update(force)); }else if(act=="pkg_check_upgrade"){ out->insert("pkg_check_upgrade", sysadm::PKG::pkg_check_upgrade()); }else if(act=="pkg_upgrade"){