diff --git a/api/src/engine/connectors/exareme/converters.ts b/api/src/engine/connectors/exareme/converters.ts index a1c28d5727aa9e2b082b1abbf072a5eb7dd4b75e..b25282036fd29e191bf130d7779b8c9fe58f07b6 100644 --- a/api/src/engine/connectors/exareme/converters.ts +++ b/api/src/engine/connectors/exareme/converters.ts @@ -221,6 +221,25 @@ export const dataToExperiment = ( .flat() : []; + const allVariables = exp.filterVariables || []; + + // add filter variables + const extractVariablesFromFilter = (filter: any): any => + filter.rules.forEach((r: any) => { + if (r.rules) { + extractVariablesFromFilter(r); + } + if (r.id) { + allVariables.push(r.id); + } + }); + + if (exp && exp.filter) { + extractVariablesFromFilter(JSON.parse(exp.filter)); + } + + exp.filterVariables = Array.from(new Set(allVariables)); + return exp; } catch (e) { return {