diff options
Diffstat (limited to 'vmail-model.lua')
-rw-r--r-- | vmail-model.lua | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/vmail-model.lua b/vmail-model.lua index e93a121..7da14ce 100644 --- a/vmail-model.lua +++ b/vmail-model.lua @@ -1,4 +1,4 @@ -module (..., package.seeall) +local mymodule = {} -- Load libraries modelfunctions = require("modelfunctions") @@ -300,7 +300,7 @@ local delete_user = function(username) return false, "User does not exist" else -- Delete all of the user's voicemails - local messages = list_messages(username) + local messages = mymodule.list_messages(username) if #messages.value then for i,m in ipairs(messages.value) do delete_message(m.uuid) @@ -325,7 +325,7 @@ end -- ################################################################################ -- PUBLIC FUNCTIONS -get_config = function() +mymodule.get_config = function() local result = {} result.domain = cfe({ value=config.domain, label="Domain" }) result.database = cfe({ value=config.database, label="Database" }) @@ -336,7 +336,7 @@ get_config = function() return cfe({ type="group", value=result, label="Voicemail Config" }) end -update_config = function(self, newconfig) +mymodule.update_config = function(self, newconfig) local success = validateconfig(newconfig) if success then for name,val in pairs(newconfig.value) do @@ -352,7 +352,7 @@ update_config = function(self, newconfig) return newconfig end -list_messages = function(username) +mymodule.list_messages = function(username) local retval = {} local errtxt local res, err = pcall(function() @@ -369,7 +369,7 @@ list_messages = function(username) return cfe({ type="structure", value=retval, label="List of Messages", errtxt=errtxt }) end -get_message = function(message, username) +mymodule.get_message = function(message, username) local retval = cfe({ type="raw", label="error", option="audio/x-wav" }) local res, err = pcall(function() local connected = vmaildb.databaseconnect() @@ -392,14 +392,14 @@ get_message = function(message, username) return retval end -get_delete_message = function(self, clientdata) +mymodule.get_delete_message = function(self, clientdata) local result = {} result.message = cfe({ value=clientdata.message or "", label="Message" }) result.username = cfe({ value=clientdata.username or "", label="User Name" }) return cfe({ type="group", value=result, label="Delete Message" }) end -set_delete_message = function(self, deleterequest) +mymodule.set_delete_message = function(self, deleterequest) if not deleterequest.value.message.value or deleterequest.value.message.value == "" then deleterequest.errtxt = "Failed to delete message - message not found" return deleterequest @@ -423,7 +423,7 @@ set_delete_message = function(self, deleterequest) return deleterequest end -get_forward_message = function(self, clientdata) +mymodule.get_forward_message = function(self, clientdata) local result = {} result.message = cfe({ value=clientdata.message or "", label="Message" }) result.username = cfe({ value=clientdata.username or "", label="User Name" }) @@ -431,7 +431,7 @@ get_forward_message = function(self, clientdata) return cfe({ type="group", value=result, label="Forward Message" }) end -forward_message = function(self, forwardrequest) +mymodule.forward_message = function(self, forwardrequest) local messages = format.string_to_table(forwardrequest.value.message.value, "%s*,%s*") local res, err = pcall(function() local connected = vmaildb.databaseconnect() @@ -466,7 +466,7 @@ forward_message = function(self, forwardrequest) return forwardrequest end -get_email_message = function(self, clientdata) +mymodule.get_email_message = function(self, clientdata) local result = {} result.message = cfe({ value=clientdata.message or "", label="Message" }) result.address = cfe({ value=clientdata.newuser or "", label="Address" }) @@ -474,7 +474,7 @@ get_email_message = function(self, clientdata) return cfe({ type="group", value=result, label="Email Message" }) end -email_message = function(self, emailrequest) +mymodule.email_message = function(self, emailrequest) local messages = format.string_to_table(emailrequest.value.message.value, "%s*,%s*") if emailrequest.value.address.value == "" or string.find(emailrequest.value.address.value, "%s") or not string.find(emailrequest.value.address.value, "@") then emailrequest.errtxt = "Failed to e-mail message - invalid address" @@ -490,7 +490,7 @@ email_message = function(self, emailrequest) while validuser(newuser) do newuser = "tempuser"..session.random_hash(128) end - local settings = get_usersettings(self, {username=newuser}) + local settings = mymodule.get_usersettings(self, {username=newuser}) if settings.value["vm-mailto"] and settings.value["vm-email-all-messages"] and settings.value["vm-attach-file"] and settings.value["vm-keep-local-after-email"] then settings.value["vm-mailto"].value = emailrequest.value.address.value settings.value["vm-email-all-messages"].value = true @@ -498,7 +498,7 @@ email_message = function(self, emailrequest) settings.value["vm-keep-local-after-email"].value = false if settings.value["vm-password"] then settings.value["vm-password"].value = "1234" end if settings.value["vm-password-confirm"] then settings.value["vm-password-confirm"].value = "1234" end - settings = create_usersettings(self, settings) + settings = mymodule.create_usersettings(self, settings) if not settings.errtxt then for i,m in ipairs(mess) do -- E-mail message using mod_voicemail API @@ -531,7 +531,7 @@ email_message = function(self, emailrequest) return emailrequest end -get_move_message = function(self, clientdata) +mymodule.get_move_message = function(self, clientdata) local result = {} result.message = cfe({ value=clientdata.message or "", label="Message" }) result.newfolder = cfe({ value=clientdata.newfolder or "", label="New Folder" }) @@ -539,7 +539,7 @@ get_move_message = function(self, clientdata) return cfe({ type="group", value=result, label="Move Message" }) end -move_message = function(self, moverequest) +mymodule.move_message = function(self, moverequest) local messages = format.string_to_table(moverequest.value.message.value, "%s*,%s*") local res, err = pcall(function() local connected = vmaildb.databaseconnect() @@ -580,7 +580,7 @@ move_message = function(self, moverequest) return moverequest end -get_callback_message = function(self, clientdata) +mymodule.get_callback_message = function(self, clientdata) local result = {} result.message = cfe({ value=clientdata.message or "", label="Message" }) result.extension = cfe({ value=clientdata.extension or "", label="Extension" }) @@ -588,7 +588,7 @@ get_callback_message = function(self, clientdata) return cfe({ type="group", value=result, label="Callback Message" }) end -callback_message = function(self, callbackrequest) +mymodule.callback_message = function(self, callbackrequest) if string.find(callbackrequest.value.message.value, ",") then callbackrequest.errtxt = "Failed to callback message - can only callback one message at a time" elseif callbackrequest.value.extension.value == "" or string.find(callbackrequest.value.extension.value, "[%s@]") then @@ -618,7 +618,7 @@ callback_message = function(self, callbackrequest) return callbackrequest end -list_folders = function() +mymodule.list_folders = function() local errtxt local folders = {} local res, err = pcall(function() @@ -633,7 +633,7 @@ list_folders = function() return cfe({ type="structure", value=folders, label="Voicemail Folders", errtxt=errtxt }) end -list_passwords = function(username) +mymodule.list_passwords = function(username) local errtxt local users = {} local res, err = pcall(function() @@ -649,7 +649,7 @@ list_passwords = function(username) return cfe({ type="structure", value=users, label="Voicemail User Passwords", errtxt=errtxt }) end -list_users = function() +mymodule.list_users = function() local errtxt local users = {} local res, err = pcall(function() @@ -666,13 +666,13 @@ list_users = function() return cfe({ type="structure", value=users, label="Voicemail Users", errtxt=errtxt }) end -get_delete_user = function(self, clientdata) +mymodule.get_delete_user = function(self, clientdata) local result = {} result.username = cfe({ value=clientdata.username or "", label="User Name" }) return cfe({ type="group", value=result, label="Delete User" }) end -set_delete_user = function(self, deleterequest) +mymodule.set_delete_user = function(self, deleterequest) local result = "" local success = true if not deleterequest.value.username.value == "" then @@ -695,7 +695,7 @@ set_delete_user = function(self, deleterequest) return deleterequest end -get_usersettings = function(self, clientdata) +mymodule.get_usersettings = function(self, clientdata) local retval = {} local errtxt local res, err = pcall(function() @@ -711,11 +711,11 @@ get_usersettings = function(self, clientdata) return cfe({ type="group", value=retval, label="Voicemail User Settings", errtxt=errtxt }) end -create_usersettings = function(self, usersettings, action) - return update_usersettings(self, usersettings, action, true) +mymodule.create_usersettings = function(self, usersettings, action) + return mymodule.update_usersettings(self, usersettings, action, true) end -update_usersettings = function(self, usersettings, action, create) +mymodule.update_usersettings = function(self, usersettings, action, create) local success = true local errtxt -- Validate the settings @@ -761,7 +761,7 @@ update_usersettings = function(self, usersettings, action, create) return usersettings end -process_directory_xml_request = function(input) +mymodule.process_directory_xml_request = function(input) local output = {} local errtxt local res, err = pcall(function() @@ -781,7 +781,7 @@ process_directory_xml_request = function(input) return cfe({ type="group", value=output, label="Directory Data", errtxt=errtxt }) end -process_dialplan_xml_request = function(input) +mymodule.process_dialplan_xml_request = function(input) local output = {} local errtxt local res, err = pcall(function() @@ -799,3 +799,5 @@ process_dialplan_xml_request = function(input) end return cfe({ type="group", value=output, label="Dialplan Data", errtxt=errtxt }) end + +return mymodule |