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