summaryrefslogtreecommitdiffstats
path: root/openldap-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'openldap-model.lua')
-rw-r--r--openldap-model.lua51
1 files changed, 51 insertions, 0 deletions
diff --git a/openldap-model.lua b/openldap-model.lua
new file mode 100644
index 0000000..112dedb
--- /dev/null
+++ b/openldap-model.lua
@@ -0,0 +1,51 @@
+local mymodule = {}
+
+modelfunctions = require("modelfunctions")
+posix = require("posix")
+format = require("acf.format")
+fs = require("acf.fs")
+processinfo = require("acf.processinfo")
+validator = require("acf.validator")
+date = require("acf.date")
+
+local processname = "slapd"
+local packagename = "openldap"
+local configfile = "/etc/openldap/slapd.conf"
+
+function mymodule.set_processname(p)
+ processname = p
+ configfile = "/etc/openldap/"..processname..".conf"
+end
+
+local function log_content( f )
+ return fs.read_file(f) or ""
+end
+
+function mymodule.getstatus()
+ return modelfunctions.getstatus(processname, packagename, "OpenLDAP Status")
+end
+
+function mymodule.get_startstop(self, clientdata)
+ return modelfunctions.get_startstop(processname)
+end
+
+function mymodule.startstop_service(self, startstop, action)
+ return modelfunctions.startstop_service(startstop, action)
+end
+
+function mymodule.get_logfile(f)
+ local config = log_content(configfile)
+ return cfe({ value=config.log or "", label="Log file" })
+end
+
+function mymodule.get_filecontent()
+
+ return modelfunctions.getfiledetails(configfile)
+end
+
+function mymodule.update_filecontent(self, filedetails)
+
+ return modelfunctions.setfiledetails(self, filedetails, {configfile})
+end
+
+return mymodule