summaryrefslogtreecommitdiffstats
path: root/apk-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'apk-model.lua')
-rw-r--r--apk-model.lua102
1 files changed, 82 insertions, 20 deletions
diff --git a/apk-model.lua b/apk-model.lua
index b498802..02ffb03 100644
--- a/apk-model.lua
+++ b/apk-model.lua
@@ -3,8 +3,8 @@ module (..., package.seeall)
require("apk")
require("modelfunctions")
require("posix")
-require("fs")
-require("format")
+fs = require("acf.fs")
+format = require("acf.format")
local configfile = "/etc/apk/repositories"
local worldfile = "/etc/apk/world"
@@ -196,41 +196,103 @@ get_available_packages = function()
return available
end
-delete_package = function(package, sessiondata)
- local success, cmdresult = apk.delete(package)
+get_delete_package = function(clientdata)
+ local result = {}
+ result.package = cfe({ value=clientdata.package, label="Package" })
+
+ return cfe({ type="group", value=result, label="Result of Delete" })
+end
+
+delete_package = function(deleterequest)
+ local success, res = apk.delete(deleterequest.value.package.value)
if success then
+ deleterequest.descr = res
-- Destroy menu and permissions info in session so recalculated
- if sessiondata then sessiondata.menu = nil end
- if sessiondata then sessiondata.permissions = nil end
+ if session then session.menu = nil end
+ if session then session.permissions = nil end
+ else
+ deleterequest.errtxt = "Failed to delete package."
end
- return cfe({ value=cmdresult, label="Result of Delete" })
+
+ return deleterequest
+end
+
+get_install_package = function(clientdata)
+ local result = {}
+ result.package = cfe({ value=clientdata.package, label="Package" })
+
+ return cfe({ type="group", value=result, label="Result of Install" })
end
-install_package = function(package,sessiondata)
- local success, cmdresult = apk.install(package)
+install_package = function(installrequest)
+ local success, res = apk.install(installrequest.value.package.value)
if success then
+ installrequest.descr = res
-- Destroy menu and permissions info in session so recalculated
- if sessiondata then sessiondata.menu = nil end
- if sessiondata then sessiondata.permissions = nil end
+ if session then session.menu = nil end
+ if session then session.permissions = nil end
+ else
+ installrequest.errtxt = "Failed to install package."
+ end
+
+ return installrequest
+end
+
+get_upgrade_package = function(clientdata)
+ local result = {}
+ result.package = cfe({ value=clientdata.package, label="Package" })
+
+ return cfe({ type="group", value=result, label="Result of Upgrade" })
+end
+
+upgrade_package = function(upgraderequest)
+ local res = run_apk_cmd("fix -u "..upgraderequest.value.package.value)
+ if res then
+ upgraderequest.descr = res
+ else
+ upgraderequest.errtxt = "Failed to upgrade package."
end
- return cfe({ value=cmdresult, label="Result of Install" })
+
+ return upgraderequest
+end
+
+get_update_all = function(clientdata)
+ local result = {}
+
+ return cfe({ type="group", value=result, label="Result of Update" })
end
-upgrade_package = function(package)
- return cfe({ value=run_apk_cmd("fix -u "..package), label="Result of Package Upgrade" })
+update_all = function(updaterequest)
+ local res = run_apk_cmd("update")
+ if res then
+ updaterequest.descr = res
+ else
+ updaterequest.errtxt = "Failed to upgrade packages."
+ end
+
+ return updaterequest
end
-update_all = function()
- return cfe({ value=run_apk_cmd("update"), label="Result of Update" })
+get_upgrade_all = function(clientdata)
+ local result = {}
+
+ return cfe({ type="group", value=result, label="Result of Upgrade" })
end
-upgrade_all = function()
- result = {}
+upgrade_all = function(upgraderequest)
+ local result = {}
result[#result+1] = run_apk_cmd("update")
result[#result+1] = run_apk_cmd("add -u apk-tools")
result[#result+1] = run_apk_cmd("upgrade")
- return cfe({ value=table.concat(result, ""), label="Result of Upgrade" })
--- return cfe({ value=run_apk_cmd("upgrade -U"), label="Result of Upgrade" })
+
+ local res = table.concat(result, "")
+ if res then
+ upgraderequest.descr = res
+ else
+ upgraderequest.errtxt = "Failed to upgrade packages."
+ end
+
+ return upgraderequest
end
get_cache = function()