summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kamailio-controller.lua36
-rw-r--r--kamailio-model.lua59
2 files changed, 49 insertions, 46 deletions
diff --git a/kamailio-controller.lua b/kamailio-controller.lua
index 331dfef..5cea356 100644
--- a/kamailio-controller.lua
+++ b/kamailio-controller.lua
@@ -1,64 +1,66 @@
-module(..., package.seeall)
+local mymodule = {}
-default_action = "status"
+mymodule.default_action = "status"
-function status(self)
+function mymodule.status(self)
return self.model.getstatus()
end
-function startstop(self)
+function mymodule.startstop(self)
return self.handle_form(self, self.model.get_startstop, self.model.startstop_service, self.clientdata)
end
-function listfiles(self)
+function mymodule.listfiles(self)
return self.model.list_files()
end
-function edit(self)
+function mymodule.edit(self)
return self.handle_form(self, self.model.get_filedetails, self.model.update_filedetails, self.clientdata, "Save", "Edit File", "File Saved")
end
-function listusers(self)
+function mymodule.listusers(self)
return self.model.list_users()
end
-function createuser(self)
+function mymodule.createuser(self)
return self.handle_form(self, self.model.get_new_user, self.model.create_new_user, self.clientdata, "Create", "Create New User")
end
-function deleteuser(self)
+function mymodule.deleteuser(self)
return self.handle_form(self, self.model.get_delete_user, self.model.delete_user, self.clientdata, "Delete", "Delete User")
--, "User deleted")
end
-function updateuser(self)
+function mymodule.updateuser(self)
return self.handle_form(self, self.model.get_user, self.model.update_user, self.clientdata, "Update", "Update User")
end
-function listtables(self)
+function mymodule.listtables(self)
return self.model.list_tables()
end
-function viewtable(self)
+function mymodule.viewtable(self)
return self.model.list_table_entries(self.clientdata.table)
end
-function deletetableentry(self)
+function mymodule.deletetableentry(self)
return self.handle_form(self, self.model.get_delete_table_entry, self.model.delete_table_entry, self.clientdata, "Delete", "Delete Table Entry", "Table Entry deleted")
end
-function updatetableentry(self)
+function mymodule.updatetableentry(self)
return self.handle_form(self, self.model.get_table_entry, self.model.update_table_entry, self.clientdata, "Update", "Update Table Entry", "Entry updated")
end
-function createtableentry(self)
+function mymodule.createtableentry(self)
return self.handle_form(self, self.model.get_new_table_entry, self.model.create_table_entry, self.clientdata, "Create", "Create New Table Entry", "Entry created")
end
-function createdatabase(self)
+function mymodule.createdatabase(self)
return self.handle_form(self, self.model.get_create_database, self.model.create_database, self.clientdata, "Create", "Create Database", "Database created")
end
-searchdatabase = function( self )
+mymodule.searchdatabase = function( self )
return self.model.search_database(self.clientdata.id, self.clientdata.value, self.clientdata.comparison)
end
+
+return mymodule
diff --git a/kamailio-model.lua b/kamailio-model.lua
index e1fc31e..c6dba0f 100644
--- a/kamailio-model.lua
+++ b/kamailio-model.lua
@@ -1,4 +1,4 @@
-module(..., package.seeall)
+local mymodule = {}
-- Load libraries
posix = require("posix")
@@ -99,27 +99,27 @@ end
-- ################################################################################
-- PUBLIC FUNCTIONS
-function get_startstop(self, clientdata)
+function mymodule.get_startstop(self, clientdata)
return modelfunctions.get_startstop(processname)
end
-function startstop_service(self, startstop, action)
+function mymodule.startstop_service(self, startstop, action)
return modelfunctions.startstop_service(startstop, action)
end
-function getstatus()
+function mymodule.getstatus()
return modelfunctions.getstatus(processname, packagename, "Kamailio Status")
end
-function get_filedetails(self, clientdata)
+function mymodule.get_filedetails(self, clientdata)
return modelfunctions.getfiledetails(clientdata.filename, is_valid_filename)
end
-function update_filedetails(self, filedetails)
+function mymodule.update_filedetails(self, filedetails)
return modelfunctions.setfiledetails(self, filedetails, is_valid_filename)
end
-function list_files()
+function mymodule.list_files()
local retval = {}
for file in fs.find(null, baseurl) do
local details = fs.stat(file)
@@ -165,7 +165,7 @@ local function parse_db_show(table)
return results, errtxt
end
-function list_users()
+function mymodule.list_users()
-- Database format: id | username | domain | password | email_address | ha1 | ha1b | rpid
local results = {}
local r, errtxt
@@ -184,7 +184,7 @@ function list_users()
return cfe({type="list", value=results, label="Kamailio Users", errtxt=errtxt})
end
-function get_new_user()
+function mymodule.get_new_user()
local user = {}
user.username = cfe({label="User Name", seq=1})
user.password = cfe({type="password", label="Password", seq=2})
@@ -193,7 +193,7 @@ function get_new_user()
return cfe({type="group", value=user, label="Kamailio User"})
end
-function create_new_user(self, user)
+function mymodule.create_new_user(self, user)
local success = validate_user(user)
if success then
local res, err = pcall(function()
@@ -211,13 +211,13 @@ function create_new_user(self, user)
return user
end
-function get_delete_user(self, clientdata)
+function mymodule.get_delete_user(self, clientdata)
local user = {}
user.username = cfe({label="User Name"})
return cfe({type="group", value=user, label="Delete User"})
end
-function delete_user(self, user)
+function mymodule.delete_user(self, user)
if user.value.username.value == "" then
user.value.username.errtxt = "Invalid username"
user.errtxt = "Failed to delete user"
@@ -234,12 +234,12 @@ function delete_user(self, user)
return user
end
-function get_user(self, clientdata)
- local user = get_new_user()
+function mymodule.get_user(self, clientdata)
+ local user = mymodule.get_new_user()
user.value.username.value = clientdata.username or ""
user.value.username.errtxt = "Invalid user"
user.value.username.readonly = true
- local users = list_users()
+ local users = mymodule.list_users()
for i,u in ipairs(users.value) do
if u.username == clientdata.username then
user.value.username.errtxt = nil
@@ -249,7 +249,7 @@ function get_user(self, clientdata)
return user
end
-function update_user(self, user)
+function mymodule.update_user(self, user)
local success = validate_user(user)
if success then
local res, err = pcall(function()
@@ -267,7 +267,7 @@ function update_user(self, user)
return user
end
-function list_tables()
+function mymodule.list_tables()
local retval = {}
local errtxt
-- Get the devices from the DB
@@ -283,7 +283,7 @@ function list_tables()
return cfe({ type="list", value=retval, label="List of Database Tables", errtxt=errtxt })
end
-function list_table_entries(table)
+function mymodule.list_table_entries(table)
local retval = {}
retval.table = cfe({ value=table or "", label="Table" })
retval.fields = cfe({ type="list", value={}, label="List of Table Fields" })
@@ -312,7 +312,7 @@ function list_table_entries(table)
return cfe({ type="group", value=retval, label="Database Table Entries", errtxt=errtxt })
end
-function get_new_table_entry(self, clientdata)
+function mymodule.get_new_table_entry(self, clientdata)
local retval = {}
retval.table = cfe({ value=clientdata.table or "", label="Table", errtxt="Table does not exist", readonly=true, seq=0 })
local errtxt = "Table does not exist"
@@ -346,8 +346,8 @@ function get_new_table_entry(self, clientdata)
return cfe({ type="group", value=retval, label="Database Table Entry", errtxt=errtxt })
end
-function get_table_entry(self, clientdata)
- local retval = get_new_table_entry(self, clientdata)
+function mymodule.get_table_entry(self, clientdata)
+ local retval = mymodule.get_new_table_entry(self, clientdata)
if not retval.value.table.errtxt and retval.value.id then
retval.value.id.type = "text"
local res, err = pcall(function()
@@ -380,11 +380,11 @@ function get_table_entry(self, clientdata)
return retval
end
-function create_table_entry(self, entry, action)
- return update_table_entry(self, entry, action, true)
+function mymodule.create_table_entry(self, entry, action)
+ return mymodule.update_table_entry(self, entry, action, true)
end
-function update_table_entry(self, entry, action, create)
+function mymodule.update_table_entry(self, entry, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -456,14 +456,14 @@ function update_table_entry(self, entry, action, create)
return entry
end
-function get_delete_table_entry(self, clientdata)
+function mymodule.get_delete_table_entry(self, clientdata)
local retval = {}
retval.table = cfe({ value=clientdata.table or "", label="Table", seq=0 })
retval.id = cfe({ value=clientdata.id or "", label="ID", seq=1 })
return cfe({ type="group", value=retval, label="Delete Database Table Entry" })
end
-function delete_table_entry(self, entry)
+function mymodule.delete_table_entry(self, entry)
entry.errtxt = "Failed to delete table entry"
if entry.value.table.value == "" then
entry.value.table.errtxt = "Invalid table"
@@ -495,16 +495,16 @@ function delete_table_entry(self, entry)
return entry
end
-function get_create_database(self, clientdata)
+function mymodule.get_create_database(self, clientdata)
return cfe({ type="group", value={}, label="Create Database" })
end
-function create_database(self, create_db)
+function mymodule.create_database(self, create_db)
create_db.descr, create_db.errtxt = modelfunctions.run_executable({"kamdbctl", "create"}, true, 'y\ny\n')
return create_db
end
-function search_database(id, value, comparison)
+function mymodule.search_database(id, value, comparison)
local errtxt
retval = {}
retval.id = cfe({type="select", value=id or "", label="Table.Column", option={}, seq=1})
@@ -536,3 +536,4 @@ function search_database(id, value, comparison)
return cfe({type="group", value=retval, label="Database Search", errtxt=errtxt})
end
+return mymodule