Skip to content
Snippets Groups Projects
Commit 07e753ca authored by Steve Reis's avatar Steve Reis
Browse files

WIP : uniform experiment and transient

parent f11cb09a
No related branches found
No related tags found
No related merge requests found
......@@ -5,6 +5,11 @@ import { ExperimentCreateInput } from 'src/engine/models/experiment/experiment-c
import { Experiment } from 'src/engine/models/experiment/experiment.model';
export default class DataShieldService implements IEngineService {
createExperiment(
data: ExperimentCreateInput,
): Experiment | Promise<Experiment> {
throw new Error('Method not implemented.');
}
createTransient(
data: ExperimentCreateInput,
): Experiment | Promise<Experiment> {
......
......@@ -24,6 +24,11 @@ export default class ExaremeService implements IEngineService {
private readonly options: IEngineOptions,
private readonly httpService: HttpService,
) {}
createExperiment(
data: ExperimentCreateInput,
): Experiment | Promise<Experiment> {
throw new Error('Method not implemented.');
}
async createTransient(data: ExperimentCreateInput): Promise<Experiment> {
const form = experimentInputToData(data);
......
......@@ -10,8 +10,18 @@ export interface IEngineOptions {
}
export interface IEngineService {
//GraphQL
getDomains(ids: string[]): Domain[] | Promise<Domain[]>;
createTransient(
data: ExperimentCreateInput,
): Promise<Experiment> | Experiment;
createExperiment(
data: ExperimentCreateInput,
): Promise<Experiment> | Experiment;
// Standard REST API call
getAlgorithms(request: Request): Observable<string>;
getExperiments(request: Request): Observable<string>;
......@@ -24,10 +34,6 @@ export interface IEngineService {
startExperimentTransient(request: Request): Observable<string>;
createTransient(
data: ExperimentCreateInput,
): Promise<Experiment> | Experiment;
startExperiment(request: Request): Observable<string>;
getActiveUser(request: Request): Observable<string>;
......
......@@ -21,9 +21,13 @@ export class EngineResolver {
}
@Mutation(() => Experiment)
async createTransient(
async createExperiment(
@Args('data') experimentCreateInput: ExperimentCreateInput,
@Args('transient', { nullable: true, defaultValue: false })
isTransient: boolean,
) {
return this.engineService.createTransient(experimentCreateInput);
return isTransient
? this.engineService.createTransient(experimentCreateInput)
: this.engineService.createExperiment(experimentCreateInput);
}
}
......@@ -74,7 +74,7 @@ type Query {
}
type Mutation {
createTransient(data: ExperimentCreateInput!): Experiment!
createExperiment(transient: Boolean = false, data: ExperimentCreateInput!): Experiment!
}
input ExperimentCreateInput {
......
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