Skip to content
Snippets Groups Projects
Commit a9895b3f authored by stevereis's avatar stevereis
Browse files

Replace name by id (for algorithm)

parent dc4aa39e
No related branches found
No related tags found
No related merge requests found
import { Category } from 'src/engine/models/category.model'; import { Category } from 'src/engine/models/category.model';
import { AlgorithmParameter } from 'src/engine/models/experiment/algorithm-parameter.model';
import { Algorithm } from 'src/engine/models/experiment/algorithm.model'; import { Algorithm } from 'src/engine/models/experiment/algorithm.model';
import { Experiment } from 'src/engine/models/experiment/experiment.model'; import { Experiment } from 'src/engine/models/experiment/experiment.model';
import { AlgorithmParamInput } from 'src/engine/models/experiment/input/algorithm-parameter.input';
import { ExperimentCreateInput } from 'src/engine/models/experiment/input/experiment-create.input'; import { ExperimentCreateInput } from 'src/engine/models/experiment/input/experiment-create.input';
import { Group } from 'src/engine/models/group.model'; import { Group } from 'src/engine/models/group.model';
import { ResultUnion } from 'src/engine/models/result/common/result-union.model'; import { ResultUnion } from 'src/engine/models/result/common/result-union.model';
...@@ -56,10 +56,10 @@ export const dataToVariable = (data: VariableEntity): Variable => { ...@@ -56,10 +56,10 @@ export const dataToVariable = (data: VariableEntity): Variable => {
}; };
}; };
const algoParamInputToData = (param: AlgorithmParameter) => { const algoParamInputToData = (param: AlgorithmParamInput) => {
return { return {
name: param.name, name: param.id,
label: param.name, label: param.id,
value: param.value.join(','), value: param.value.join(','),
}; };
}; };
...@@ -112,7 +112,7 @@ export const experimentInputToData = (data: ExperimentCreateInput) => { ...@@ -112,7 +112,7 @@ export const experimentInputToData = (data: ExperimentCreateInput) => {
: []), : []),
].concat(data.algorithm.parameters.map(algoParamInputToData)), ].concat(data.algorithm.parameters.map(algoParamInputToData)),
type: data.algorithm.type ?? 'string', type: data.algorithm.type ?? 'string',
name: data.algorithm.name, name: data.algorithm.id,
}, },
name: data.name, name: data.name,
}; };
...@@ -152,9 +152,7 @@ export const dataToExperiment = (data: ExperimentData): Experiment => { ...@@ -152,9 +152,7 @@ export const dataToExperiment = (data: ExperimentData): Experiment => {
}; };
exp.results = data.result exp.results = data.result
? data.result ? data.result.map((result) => dataToResult(result, exp.algorithm.id)).flat()
.map((result) => dataToResult(result, exp.algorithm.name))
.flat()
: []; : [];
return exp; return exp;
......
...@@ -10,11 +10,11 @@ export const transformToAlgorithms = jsonata(` ...@@ -10,11 +10,11 @@ export const transformToAlgorithms = jsonata(`
$toArray := function($x) { $type($x) = 'array' ? $x : [$x]}; $toArray := function($x) { $type($x) = 'array' ? $x : [$x]};
*.{ *.{
'name': name, 'id': name,
'label': label, 'label': label,
'description': desc, 'description': desc,
'parameters': $toArray(parameters[$not(name in $params)].{ 'parameters': $toArray(parameters[$not(name in $params)].{
'name': name, 'id': name,
'description': desc, 'description': desc,
'label': label, 'label': label,
'type': valueType, 'type': valueType,
...@@ -44,15 +44,15 @@ export const transformToExperiment = jsonata(` ...@@ -44,15 +44,15 @@ export const transformToExperiment = jsonata(`
"finishedAt": finished, "finishedAt": finished,
"shared": shared, "shared": shared,
"updateAt": updated, "updateAt": updated,
"domains": algorithm.parameters[name = "pathology"].value, "domain": algorithm.parameters[name = "pathology"].value,
"variables": $split(algorithm.parameters[name = "y"].value, ','), "variables": $split(algorithm.parameters[name = "y"].value, ','),
"filter": algorithm.parameters[name = "filter"].value, "filter": algorithm.parameters[name = "filter"].value,
"datasets": $split(algorithm.parameters[name = "dataset"].value, ','), "datasets": $split(algorithm.parameters[name = "dataset"].value, ','),
"algorithm": { "algorithm": {
"name": algorithm.name, "id": algorithm.name,
"parameters" : $toArray( "parameters" : $toArray(
algorithm.parameters[$not(name in $params)].({ algorithm.parameters[$not(name in $params)].({
"name": name, "id": name,
"label": label, "label": label,
"value": $split(value, ',') "value": $split(value, ',')
}) })
......
...@@ -3,7 +3,7 @@ import { Field, ObjectType } from '@nestjs/graphql'; ...@@ -3,7 +3,7 @@ import { Field, ObjectType } from '@nestjs/graphql';
@ObjectType() @ObjectType()
export class AlgorithmParameter { export class AlgorithmParameter {
@Field() @Field()
name: string; id: string;
@Field(() => [String], { nullable: true }) @Field(() => [String], { nullable: true })
value?: string[]; value?: string[];
......
...@@ -4,7 +4,7 @@ import { AlgorithmParameter } from './algorithm-parameter.model'; ...@@ -4,7 +4,7 @@ import { AlgorithmParameter } from './algorithm-parameter.model';
@ObjectType() @ObjectType()
export class Algorithm { export class Algorithm {
@Field() @Field()
name: string; id: string;
@Field(() => [AlgorithmParameter], { nullable: true, defaultValue: [] }) @Field(() => [AlgorithmParameter], { nullable: true, defaultValue: [] })
parameters?: AlgorithmParameter[]; parameters?: AlgorithmParameter[];
......
...@@ -3,7 +3,7 @@ import { Field, InputType } from '@nestjs/graphql'; ...@@ -3,7 +3,7 @@ import { Field, InputType } from '@nestjs/graphql';
@InputType() @InputType()
export class AlgorithmParamInput { export class AlgorithmParamInput {
@Field() @Field()
name: string; id: string;
@Field(() => [String]) @Field(() => [String])
value: string[]; value: string[];
......
...@@ -4,7 +4,7 @@ import { AlgorithmParamInput } from './algorithm-parameter.input'; ...@@ -4,7 +4,7 @@ import { AlgorithmParamInput } from './algorithm-parameter.input';
@InputType() @InputType()
export class AlgorithmInput { export class AlgorithmInput {
@Field() @Field()
name: string; id: string;
@Field(() => [AlgorithmParamInput], { nullable: true, defaultValue: [] }) @Field(() => [AlgorithmParamInput], { nullable: true, defaultValue: [] })
parameters: AlgorithmParamInput[]; parameters: AlgorithmParamInput[];
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment