mirror of
https://github.com/ntop/ntopng.git
synced 2026-05-08 06:24:34 +00:00
62 lines
1.5 KiB
Lua
62 lines
1.5 KiB
Lua
--
|
|
-- (C) 2019-25 - ntop.org
|
|
--
|
|
|
|
local dirs = ntop.getDirs()
|
|
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
|
|
|
|
require "lua_utils"
|
|
local json = require("dkjson")
|
|
local alert_consts = require("alert_consts")
|
|
local checks = require("checks")
|
|
local rest_utils = require "rest_utils"
|
|
local auth = require "auth"
|
|
|
|
-- Return all checks scripts keys, used to identify a check in ntopng
|
|
-- Example: curl -u admin:admin -H "Content-Type: application/json" http://localhost:3000/lua/rest/v2/get/scripts/key.lua
|
|
--
|
|
|
|
local rc = rest_utils.consts.success.ok
|
|
|
|
if not auth.has_capability(auth.capabilities.checks) then
|
|
rest_utils.answer(rest_utils.consts.err.not_granted)
|
|
return
|
|
end
|
|
|
|
|
|
local subdirs = {}
|
|
local result = {}
|
|
|
|
for _, subdir in pairs(checks.listSubdirs()) do
|
|
subdirs[#subdirs + 1] = subdir.id
|
|
end
|
|
|
|
local config_set = checks.getConfigset()
|
|
|
|
for _, subdir in ipairs(subdirs) do
|
|
local script_type = checks.getScriptType(subdir)
|
|
|
|
if(script_type == nil) then
|
|
traceError(TRACE_ERROR, TRACE_CONSOLE, "Bad subdir: " .. subdir)
|
|
return
|
|
end
|
|
|
|
-- ################################################
|
|
|
|
local scripts = checks.load(getSystemInterfaceId(), script_type, subdir, {return_all = false})
|
|
|
|
for script_name, script in pairs(scripts.modules) do
|
|
if script.gui and script.gui.i18n_title and script.gui.i18n_description then
|
|
|
|
result[#result + 1] = script_name
|
|
end
|
|
|
|
::continue::
|
|
end
|
|
end
|
|
|
|
local scripts_keys = {
|
|
scripts_keys = result
|
|
}
|
|
|
|
rest_utils.answer(rc, scripts_keys)
|