summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--did-model.lua40
1 files changed, 33 insertions, 7 deletions
diff --git a/did-model.lua b/did-model.lua
index dd77d36..2c17a11 100644
--- a/did-model.lua
+++ b/did-model.lua
@@ -26,6 +26,8 @@ local con
local didlist
+local userid = "-"
+
local database_creation_script = {
"CREATE AGGREGATE array_accum(anyelement) (SFUNC = array_append, STYPE = anyarray, INITCOND = '{}')",
"CREATE TABLE dbhistlog (logdatetime timestamp(3) without time zone NOT NULL, msgtext text, userid text)",
@@ -163,11 +165,13 @@ local databasedisconnect = function()
end
end
-local logme = function(message)
- local userid = "-"
- if APP and APP.sessiondata and APP.sessiondata.userinfo and APP.sessiondata.userinfo.userid then
- userid = APP.sessiondata.userinfo.userid
+local updateuserid = function(self)
+ if self and self.sessiondata and self.sessiondata.userinfo and self.sessiondata.userinfo.userid then
+ userid = self.sessiondata.userinfo.userid
end
+end
+
+local logme = function(message)
local sql = string.format("INSERT INTO dbhistlog VALUES ('now', '%s', '%s')",
escape(message), userid)
local res = assert (con:execute(sql))
@@ -561,13 +565,13 @@ local printtableentries = function(tablename)
while row do
count = count + 1
for name,val in pairs(row) do
- APP.logevent(name.." = "..val..", ")
+ logevent(name.." = "..val..", ")
end
row = cur:fetch (row, "a")
end
-- close everything
cur:close()
- APP.logevent("Table "..tablename.." contains "..count.." rows")
+ logevent("Table "..tablename.." contains "..count.." rows")
end
local function insertdailyentry(rule, daily)
@@ -835,6 +839,7 @@ end
-- PUBLIC FUNCTIONS
function getuseddefinitionlist(self, userid, did, extension, identification, description, department, page)
+ updateuserid(self)
local def = createdefinitionlist(stripdash(did), extension, identification, description, department)
def.label = "Used "..def.label
local allowedlist = getallowedlist(self, userid)
@@ -855,6 +860,7 @@ function getuseddefinitionlist(self, userid, did, extension, identification, des
end
function getunuseddefinitionlist(self, userid, did, identification, description, department, page)
+ updateuserid(self)
local def = createdefinitionlist(stripdash(did), nil, identification, description, department)
def.value.extension = nil
def.label = "Unused "..def.label
@@ -876,6 +882,7 @@ function getunuseddefinitionlist(self, userid, did, identification, description,
end
function getdefinitionlist(self, userid, did, extension, identification, description, department, page)
+ updateuserid(self)
local def = createdefinitionlist(stripdash(did), extension, identification, description, department)
--def.value.extension = nil
local allowedlist = getallowedlist(self, userid)
@@ -902,6 +909,7 @@ function getdefinitionlist(self, userid, did, extension, identification, descrip
end
function searchdefinitions(self, userid, did)
+ updateuserid(self)
local allowedlist = getallowedlist(self, userid)
local result = {}
local res, err = pcall(function()
@@ -916,6 +924,7 @@ function searchdefinitions(self, userid, did)
end
function getdefinition(self, userid, did)
+ updateuserid(self)
local allowedlist = getallowedlist(self, userid)
local errtxt
local group = {}
@@ -959,6 +968,7 @@ end
-- If exists true, then make sure exists first, if false or undefined, make sure doesn't exist
function savedefinition(self, userid, defin, test, exists)
+ updateuserid(self)
local allowedlist = getallowedlist(self, userid)
-- remove blank entries, if present
defin.value.rules.value = string.gsub("\n"..format.dostounix(defin.value.rules.value), "\n%s*,%s*,%s*,%s*,%s*,%s*0000000", "")
@@ -1038,10 +1048,12 @@ function savedefinition(self, userid, defin, test, exists)
end
function updatedefinition(self, userid, defin, test)
+ updateuserid(self)
return savedefinition(self, userid, defin, test, true)
end
function deletedefinition(self, userid, did)
+ updateuserid(self)
local allowedlist = getallowedlist(self, userid)
local result = cfe({ label="Delete DID Number Result", errtxt="DID Number does not exist" })
did = stripdash(did)
@@ -1063,7 +1075,8 @@ function deletedefinition(self, userid, did)
return result
end
-function getunuseddefinition()
+function getunuseddefinition(self, clientdata)
+ updateuserid(self)
local errtxt
local retval = {}
retval.exchange = cfe({ type="select", label="Exchange", option={} })
@@ -1087,6 +1100,7 @@ function getunuseddefinition()
end
function setunuseddefinition(defin)
+ updateuserid(self)
local success = modelfunctions.validateselect(defin.value.exchange)
if success then
local res, err = pcall(function()
@@ -1111,6 +1125,7 @@ function setunuseddefinition(defin)
end
function publishdefinition(did)
+ updateuserid(self)
local result = ""
local errtxt = "Invalid DID"
did = stripdash(did)
@@ -1135,6 +1150,7 @@ function publishdefinition(did)
end
function publishalldefinitions()
+ updateuserid(self)
local result = ""
local errtxt
local pw = format.parse_ini_file(fs.read_file(configfile) or "", "", "password") or ""
@@ -1159,6 +1175,7 @@ function publishalldefinitions()
end
function testdatabase()
+ updateuserid(self)
local retval = cfe({ type="boolean", value=false, label="Database present" })
local dbs = listdatabases()
for i,db in ipairs(dbs) do
@@ -1171,6 +1188,7 @@ function testdatabase()
end
function getnewdatabase()
+ updateuserid(self)
local database = {}
local errtxt
database.password = cfe({ type="password", label="Password", seq=1 })
@@ -1184,6 +1202,7 @@ function getnewdatabase()
end
function create_database(self, database)
+ updateuserid(self)
local success = true
local errtxt
@@ -1239,6 +1258,7 @@ function create_database(self, database)
end
function getactivitylog()
+ updateuserid(self)
local retval = cfe({ type="list", value={}, label="DID Activity Log" })
local res, err = pcall(function()
local connected = databaseconnect(DatabaseUser)
@@ -1253,6 +1273,7 @@ function getactivitylog()
end
function getpermissionslist(self)
+ updateuserid(self)
local auth = authenticator.get_subauth(self)
local users = authenticator.list_users(self)
local userlist = {}
@@ -1337,6 +1358,7 @@ local function validaterolepermissions(self, rolepermissions)
end
function getuserpermissions(self, userid)
+ updateuserid(self)
local auth = authenticator.get_subauth(self)
local entry = auth.read_entry(self, authenticator.usertable, self.conf.prefix..self.conf.controller, userid) or ""
local restricted, allowedlist
@@ -1351,6 +1373,7 @@ function getuserpermissions(self, userid)
end
function setuserpermissions(self, userpermissions)
+ updateuserid(self)
local success, userpermissions = validateuserpermissions(self, userpermissions)
if success then
@@ -1363,6 +1386,7 @@ function setuserpermissions(self, userpermissions)
end
function getrolepermissions(self, role)
+ updateuserid(self)
local auth = authenticator.get_subauth(self)
local entry = auth.read_entry(self, authenticator.roletable, self.conf.prefix..self.conf.controller, role) or ""
local restricted, allowedlist
@@ -1377,6 +1401,7 @@ function getrolepermissions(self, role)
end
function setrolepermissions(self, rolepermissions)
+ updateuserid(self)
local success, rolepermissions = validaterolepermissions(self, rolepermissions)
if success then
@@ -1389,6 +1414,7 @@ function setrolepermissions(self, rolepermissions)
end
function requestdid(self, userid)
+ updateuserid(self)
local errtxt
local result = ""
local res, err = pcall(function()