summaryrefslogtreecommitdiffstats
path: root/openssl-controller.lua
blob: c359b5119be0b6edf40314e69dd7195b4e197b5b (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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
-- the openssl certificates controller
module (..., package.seeall)

require("getopts")

default_action = "read"

-- View all pending and approved requests and revoked certificates
readall = function(self)
	local pending = self.model.listrequests()
	local approved = nil
	local revoked = nil
	local result = cfe({ type="list", value={pending=pending, approved=approved, revoked=revoked} })
	return result
end

-- Return all certificates (pending, approved, and revoked) for this user
read = function(self)
	local user = cfe({ value=self.sessiondata.userinfo.userid, label="User Name" })
	local pending = self.model.listrequests(self.sessiondata.userinfo.userid)
	local approved = nil
	local revoked = nil
	local result = cfe({ type="list", value={user=user, pending=pending, approved=approved, revoked=revoked} })
	return result
end

-- Form to request a new cert
request = function(self)
	local request
	if self.clientdata.Submit then
		-- Try to submit the request
		request = self.model.submitrequest(self.clientdata, self.sessiondata.userinfo.userid)
		if not request.errtxt then
			request.descr = "Submitted request"
			--redirect(self)
		end
	else
		request = self.model.getnewrequest()
	end

	request.type = "form"
	request.label = "Request Certificate"
	request.option = "Submit"

	return request
end

-- Form to edit request defaults
editdefaults = function(self)
	local defaults
	if self.clientdata.Save then
		defaults = self.model.setreqdefaults(self.clientdata)
		if not defaults.errtxt then
			defaults.descr = "Defaults set"
		end
	else
		defaults = self.model.getreqdefaults()
	end

	defaults.type = "form"
	defaults.label = "Edit certificate defaults"
	defaults.option = "Save"

	return defaults
end

-- Approve the specified request
approve = function(self)
end

-- Revoke the specified cert
revoke = function(self)
end

-- Get the specified cert
getcert = function(self)
end

-- Get the revoked list
getrevoked = function(self)
end

-- Put the CA cert
putcacert = function(self)
end