From 99e2ce7f043b10f2af294bb8eebf107838fcb1d5 Mon Sep 17 00:00:00 2001 From: David Cruciani Date: Mon, 11 Mar 2024 15:21:59 +0100 Subject: [PATCH] chg: [query] query with same parameters --- website/app/home.py | 2 ++ website/app/templates/query.html | 47 ++++++++++++++++++++++++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/website/app/home.py b/website/app/home.py index e71b3b5..6c4e669 100644 --- a/website/app/home.py +++ b/website/app/home.py @@ -104,6 +104,8 @@ def run_modules(): if "modules" in request.json: if "query_as_same" in request.json: session = SessionModel.Session_class(request.json, query_as_same=True, parent_id=request.json["parent_id"]) + elif "query_as_params" in request.json: + session = SessionModel.Session_class(request.json, query_as_same=True, parent_id=request.json["same_query_id"]) else: session = SessionModel.Session_class(request.json) HomeModel.set_flask_session(session, request.json["parent_id"]) diff --git a/website/app/templates/query.html b/website/app/templates/query.html index 2957a64..2a6aad9 100644 --- a/website/app/templates/query.html +++ b/website/app/templates/query.html @@ -14,7 +14,21 @@
New query Query -
+ + +
@@ -341,6 +355,7 @@ Value: [[misp_attr]] history.value = loc } + // query 'value' with same parameters with a parent async function query_as_same(value){ let result_dict = {"modules": query_info.value["modules"], "input": query_info.value["input_query"], @@ -361,6 +376,33 @@ Value: [[misp_attr]] } } + // query 'value' with same parameters without a parent + async function query_as_params(){ + let loc = $("#query_as_params").val() + $("#query_as_params_error").text("") + if(loc){ + let result_dict = {"modules": query_info.value["modules"], + "input": query_info.value["input_query"], + "query": loc, + "config": {}, + "same_query_id": sid.value, + "parent_id": "" + } + const res = await fetch('/run_modules',{ + headers: { "X-CSRFToken": $("#csrf_token").val(), "Content-Type": "application/json" }, + method: "POST", + body: JSON.stringify(result_dict) + }) + if(await res.status == 201){ + let loc = await res.json() + await nextTick() + window.location.href="/query/" + loc['id'] + } + }else{ + $("#query_as_params_error").text("Please give value") + } + } + onMounted(() => { queryInfo() actionQuery() @@ -382,7 +424,8 @@ Value: [[misp_attr]] parseMispObject, parseMispAttr, active_tab, - query_as_same + query_as_same, + query_as_params } } }).mount('.container-fluid')