diff options
Diffstat (limited to 'kamailio-model.lua')
-rw-r--r-- | kamailio-model.lua | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/kamailio-model.lua b/kamailio-model.lua index 7937ea8..896a50f 100644 --- a/kamailio-model.lua +++ b/kamailio-model.lua @@ -315,8 +315,17 @@ function list_table_entries(table) -- Get the devices from the DB local res, err = pcall(function() local connected = databaseconnect() - retval.entries.value = getselectresponse("SELECT * FROM "..table.." ORDER BY id ASC") or {} - retval.fields.value = listcolumns(table) or {} + local tables = listtables() + retval.table.errtxt = "Table does not exist" + errtxt = "Table does not exist" + for i,t in ipairs(tables) do + if t == table then + retval.table.errtxt = nil + errtxt = nil + retval.entries.value = getselectresponse("SELECT * FROM "..table.." ORDER BY id ASC") or {} + retval.fields.value = listcolumns(table) or {} + end + end if connected then databasedisconnect() end end) if not res and err then @@ -389,6 +398,16 @@ function update_table_entry(entry, create) if success then local res, err = pcall(function() local connected = databaseconnect() + local tables = listtables() + success = false + entry.value.table.errtxt = "Table does not exist" + for i,t in ipairs(tables) do + if t == entry.value.table.value then + success = true + entry.value.table.errtxt = nil + break + end + end if success and not create then local sql = "SELECT * FROM "..entry.value.table.value.." WHERE id='"..escape(entry.value.id.value).."'" local tmp = getselectresponse(sql) |