Implements pools_rest_utils.lua with common RESTful API functions

This commit is contained in:
Simone Mainardi 2020-07-08 16:34:09 +02:00
parent 53e440c0f7
commit 83e2b10953
7 changed files with 188 additions and 159 deletions

View file

@ -6,47 +6,7 @@ local dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
package.path = dirs.installdir .. "/scripts/lua/modules/pools/?.lua;" .. package.path
require "lua_utils"
local json = require "dkjson"
local rest_utils = require "rest_utils"
local interface_pools = require "interface_pools"
local pools_rest_utils = require "pools_rest_utils"
--
-- Edit an existing pool
--
local pool_id = _POST["pool"]
local name = _POST["pool_name"]
local members = _POST["pool_members"]
local confset_id = _POST["confset_id"]
sendHTTPHeader('application/json')
if not isAdministrator() then
print(rest_utils.rc(rest_utils.consts_not_granted))
return
end
if not pool_id or not name or not members or not confset_id then
print(rest_utils.rc(rest_utils.consts_invalid_args))
return
end
local s = interface_pools:create()
members = s:parse_members(members)
-- pool_id as number
pool_id = tonumber(pool_id)
-- confset_id as number
confset_id = tonumber(confset_id)
local res = s:edit_pool(pool_id, name, members --[[ an array of valid interface ids]], confset_id --[[ a valid configset_id --]])
if not res then
print(rest_utils.rc(rest_utils.consts_edit_pool_failed))
return
end
local rc = rest_utils.consts_ok
print(rest_utils.rc(rc))
pools_rest_utils.edit_pool(interface_pools)