summaryrefslogtreecommitdiffstats
path: root/openldap-model.lua
blob: 112dedb9a260fe96ba73e70ca3b0752d36be6683 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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