From 708bb51226645db89e5b70b53eab8090aba66ffd Mon Sep 17 00:00:00 2001
From: Dennis Collaris <d.collaris@me.com>
Date: Tue, 3 Dec 2024 16:21:23 +0100
Subject: [PATCH] feat: run query conversion and execution fully on the query
 handler service

---
 apps/web/src/app/App.tsx                      |  5 ++---
 libs/shared/lib/data-access/broker/wsQuery.ts | 18 +++++++++++++++---
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/apps/web/src/app/App.tsx b/apps/web/src/app/App.tsx
index dfa03165b..7138326df 100644
--- a/apps/web/src/app/App.tsx
+++ b/apps/web/src/app/App.tsx
@@ -9,7 +9,7 @@ import {
 } from '@graphpolaris/shared/lib/data-access';
 import { addError, setCurrentTheme } from '@graphpolaris/shared/lib/data-access/store/configSlice';
 import { resetGraphQueryResults, queryingBackend } from '@graphpolaris/shared/lib/data-access/store/graphQueryResultSlice';
-import { Query2BackendQuery, QueryMultiGraph } from '@graphpolaris/shared/lib/querybuilder';
+import { QueryMultiGraph } from '@graphpolaris/shared/lib/querybuilder';
 import { Navbar } from '../components/navbar/navbar';
 import { FrozenOverlay, Resizable } from '@graphpolaris/shared/lib/components/layout';
 import { DashboardAlerts } from '@graphpolaris/shared/lib/data-access/security/dashboardAlerts';
@@ -36,7 +36,6 @@ export function App(props: App) {
   const ml = useML();
   const session = useSessionCache();
   const dispatch = useAppDispatch();
-  const queryBuilderSettings = useQuerybuilderSettings();
   const [monitoringOpen, setMonitoringOpen] = useState<boolean>(false);
 
   const runQuery = () => {
@@ -45,7 +44,7 @@ export function App(props: App) {
         dispatch(resetGraphQueryResults());
       } else {
         dispatch(queryingBackend());
-        wsQueryRequest(Query2BackendQuery(session.currentSaveState, query, queryBuilderSettings, ml, queryBuilderSettings.unionTypes));
+        wsQueryRequest(ml);
       }
     }
   };
diff --git a/libs/shared/lib/data-access/broker/wsQuery.ts b/libs/shared/lib/data-access/broker/wsQuery.ts
index 6f8bc2c3a..c5e6ba7e3 100644
--- a/libs/shared/lib/data-access/broker/wsQuery.ts
+++ b/libs/shared/lib/data-access/broker/wsQuery.ts
@@ -4,13 +4,25 @@ import { BackendQueryFormat } from '../../querybuilder';
 import { Broker } from './broker';
 import { QueryBuilderText } from '../store/querybuilderSlice';
 import { GraphQueryResultFromBackendPayload } from '../store/graphQueryResultSlice';
+import { ML, MLTypes } from '../store/mlSlice';
 
-export function wsQueryRequest(query: BackendQueryFormat) {
-  if (query.cached === undefined) query.cached = false;
+export function wsQueryRequest(ml: ML) {
+  const mlEnabled = Object.entries(ml)
+    .filter(([_,value]) => value.enabled)
+    .map(([key,_]) => {
+      return {
+        type: key as MLTypes,
+        //parameters: []
+      }
+    })
   Broker.instance().sendMessage({
     key: 'query',
     subKey: 'get',
-    body: query,
+    body: { 
+      queryID: "0", // TODO: not used yet, but used when multiple queries per save state are supported
+      ml: mlEnabled,
+      cached: false
+     }, 
   });
 }
 
-- 
GitLab