fix: [website] config + query

pull/654/head
David Cruciani 2024-02-09 09:19:35 +01:00
parent 4d0672ffdd
commit 42996e8b85
No known key found for this signature in database
GPG Key ID: 8690CDE1E3994B9B
2 changed files with 45 additions and 52 deletions

View File

@ -25,19 +25,19 @@ class Session_class:
self.modules_list = request_json["modules"] self.modules_list = request_json["modules"]
self.nb_errors = 0 self.nb_errors = 0
self.config_module = self.config_module_setter(request_json) self.config_module = self.config_module_setter(request_json)
def config_module_setter(self, request_json): def config_module_setter(self, request_json):
if request_json["config"]: """Setter for config for all modules used"""
for query in self.modules_list: for query in self.modules_list:
if not query in request_json["config"]: if not query in request_json["config"]:
request_json["config"][query] = {} request_json["config"][query] = {}
module = HomeModel.get_module_by_name(query) module = HomeModel.get_module_by_name(query)
mcs = HomeModel.get_module_config_module(module.id) mcs = HomeModel.get_module_config_module(module.id)
for mc in mcs: for mc in mcs:
config_db = HomeModel.get_config(mc.config_id) config_db = HomeModel.get_config(mc.config_id)
request_json["config"][query][config_db.name] = mc.value request_json["config"][query][config_db.name] = mc.value
return request_json["config"] return request_json["config"]
return {}
def start(self): def start(self):
"""Start all worker""" """Start all worker"""
@ -103,7 +103,6 @@ class Session_class:
if work[1] in self.config_module: if work[1] in self.config_module:
loc_config = self.config_module[work[1]] loc_config = self.config_module[work[1]]
if loc_query: if loc_query:
send_to = {"module": work[1], "attribute": loc_query, "config": loc_config} send_to = {"module": work[1], "attribute": loc_query, "config": loc_config}
else: else:
@ -121,6 +120,7 @@ class Session_class:
return self.result return self.result
def save_info(self): def save_info(self):
"""Save info in the db"""
s = Session_db( s = Session_db(
uuid=str(self.id), uuid=str(self.id),
modules_list=json.dumps(self.modules_list), modules_list=json.dumps(self.modules_list),

View File

@ -74,7 +74,6 @@
createApp({ createApp({
delimiters: ['[[', ']]'], delimiters: ['[[', ']]'],
setup() { setup() {
const query = ref("Query")
const modules_list = ref([]) const modules_list = ref([])
const misp_attributes_list = ref({}) const misp_attributes_list = ref({})
const attr_selected = ref([]) const attr_selected = ref([])
@ -97,48 +96,43 @@
status_site.value = "" status_site.value = ""
} }
if (query.value == 'Query') { progress.value = 0
progress.value = 0 let error_flag = false
let error_flag = false
let result_dict = {"modules": $("#modules_select").val(), let result_dict = {"modules": $("#modules_select").val(),
"input": $("#input_select").val(), "input": $("#input_select").val(),
"query": current_query.value "query": current_query.value
} }
result_dict["config"] = {} result_dict["config"] = {}
for(let el in config_query.value){ for(let el in config_query.value){
result_dict["config"][config_query.value[el].name] = {} result_dict["config"][config_query.value[el].name] = {}
for(let conf in config_query.value[el].meta.config){ for(let conf in config_query.value[el].meta.config){
$("#error-"+config_query.value[el].meta.config[conf]+"-"+config_query.value[el].name).text("") $("#error-"+config_query.value[el].meta.config[conf]+"-"+config_query.value[el].name).text("")
let loc = $("#form-"+config_query.value[el].meta.config[conf]+"-"+config_query.value[el].name).val() let loc = $("#form-"+config_query.value[el].meta.config[conf]+"-"+config_query.value[el].name).val()
if(!loc){ if(!loc){
error_flag = true error_flag = true
$("#error-"+config_query.value[el].meta.config[conf]+"-"+config_query.value[el].name).text("Please enter value") $("#error-"+config_query.value[el].meta.config[conf]+"-"+config_query.value[el].name).text("Please enter value")
}else{ }else{
result_dict["config"][config_query.value[el].name][config_query.value[el].meta.config[conf]] = loc result_dict["config"][config_query.value[el].name][config_query.value[el].meta.config[conf]] = loc
}
} }
} }
if(!error_flag){ }
const res = await fetch('/run_modules',{ if(!error_flag){
headers: { "X-CSRFToken": $("#csrf_token").val(), "Content-Type": "application/json" }, const res = await fetch('/run_modules',{
method: "POST", headers: { "X-CSRFToken": $("#csrf_token").val(), "Content-Type": "application/json" },
body: JSON.stringify(result_dict) method: "POST",
}) body: JSON.stringify(result_dict)
if(await res.status == 201){ })
let loc = await res.json() if(await res.status == 201){
query.value = 'Stop' let loc = await res.json()
console.log(loc['id']); await nextTick()
await nextTick() window.location.href="/query/" + loc['id']
window.location.href="/query/" + loc['id'] }else{
}else{ let loc = await res.json()
let loc = await res.json() status_site.value = loc['message'] || 'Something went wrong'
query.value = 'Query'
status_site.value = loc['message'] || 'Something went wrong'
if(status_site.value.includes("]")){ if(status_site.value.includes("]")){
status_site.value = status_site.value.split("]")[1] status_site.value = status_site.value.split("]")[1]
}
} }
} }
} }
@ -227,7 +221,6 @@
return { return {
message_list, message_list,
query,
progress, progress,
modules_list, modules_list,
misp_attributes_list, misp_attributes_list,