From 9b2decfe193e3977617222ed787d558743786edb Mon Sep 17 00:00:00 2001 From: Manuel Spuhler <manuel.spuhler@gmail.com> Date: Mon, 25 Oct 2021 15:30:45 +0000 Subject: [PATCH] Formula string request --- .../engine/connectors/exareme/converters.ts | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/api/src/engine/connectors/exareme/converters.ts b/api/src/engine/connectors/exareme/converters.ts index 2bca814..2c7b7c5 100644 --- a/api/src/engine/connectors/exareme/converters.ts +++ b/api/src/engine/connectors/exareme/converters.ts @@ -65,7 +65,19 @@ const algoParamInputToData = (param: AlgorithmParameter) => { }; export const experimentInputToData = (data: ExperimentCreateInput) => { - const params = { + const formula = + ((data.transformations?.length > 0 || data.interactions?.length > 0) && { + single: data.transformations?.map((t) => ({ + var_name: t.name, + unary_operation: t.operation, + })), + interactions: data.interactions?.map((v) => + v.reduce((a, e, i) => ({ ...a, [`var${i + 1}`]: e }), {}), + ), + }) || + null; + + return { algorithm: { parameters: [ { @@ -88,20 +100,14 @@ export const experimentInputToData = (data: ExperimentCreateInput) => { label: 'y', value: data.variables.join(','), }, - { - ...(data.transformations?.length > 0 && { - name: 'formula', - value: JSON.stringify({ - single: data.transformations?.map((t) => ({ - var_name: t.name, - unary_operation: t.operation, - })), - interactions: data.interactions?.map((v) => - v.reduce((a, v, i) => ({ ...a, [`var${i + 1}`]: v }), {}), - ), - }), - }) - }, + ...(formula + ? [ + { + name: 'formula', + value: JSON.stringify(formula), + }, + ] + : []), ].concat(data.algorithm.parameters.map(algoParamInputToData)), type: data.algorithm.type ?? 'string', name: data.algorithm.name, -- GitLab