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

wip : endpoints for experiment

parent c2e812ad
No related branches found
No related tags found
No related merge requests found
import { HttpService } from "@nestjs/axios"; import { HttpService } from "@nestjs/axios";
import { Request } from "express";
import { Observable } from "rxjs"; import { Observable } from "rxjs";
import { IEngineOptions, IEngineService } from "src/engine/engine.interfaces"; import { IEngineOptions, IEngineService } from "src/engine/engine.interfaces";
export default class DataShieldService implements IEngineService { export default class DataShieldService implements IEngineService {
constructor(private readonly options: IEngineOptions, private readonly httpService: HttpService) { } constructor(private readonly options: IEngineOptions, private readonly httpService: HttpService) { }
demo(): string {
return "datashield";
}
getExperiments(): Observable<string> { getExperiment(uuid: string): Observable<string> {
throw new Error("Method not implemented."); throw new Error("Method not implemented.");
} }
getAlgorithms(): Observable<string> { deleteExperiment(uuid: string, request: Request): Observable<string> {
throw new Error("Method not implemented."); throw new Error("Method not implemented.");
} }
demo(): string { editExperiment(uuid: string, request: Request): Observable<string> {
return "datashield"; throw new Error("Method not implemented.");
}
startExperimentTransient(request: Request): Observable<string> {
throw new Error("Method not implemented.");
}
startExperiment(request: Request): Observable<string> {
throw new Error("Method not implemented.");
}
getExperiments(): Observable<string> {
throw new Error("Method not implemented.");
}
getAlgorithms(): Observable<string> {
throw new Error("Method not implemented.");
} }
} }
\ No newline at end of file
import { HttpService } from "@nestjs/axios"; import { HttpService } from "@nestjs/axios";
import { Request, response } from "express";
import { map, Observable } from "rxjs"; import { map, Observable } from "rxjs";
import { IEngineOptions, IEngineService } from "src/engine/engine.interfaces"; import { IEngineOptions, IEngineService } from "src/engine/engine.interfaces";
export default class ExaremeService implements IEngineService { export default class ExaremeService implements IEngineService {
constructor(private readonly options: IEngineOptions, private readonly httpService: HttpService) { } constructor(private readonly options: IEngineOptions, private readonly httpService: HttpService) { }
demo(): string {
return "exareme"
}
getExperiment(uuid: string): Observable<string> {
const path = this.options.baseurl + `experiments/${uuid}`;
return this.httpService.get<string>(path).pipe(
map(response => response.data)
);
}
deleteExperiment(uuid: string, request: Request): Observable<string> {
const path = this.options.baseurl + `experiments/${uuid}`;
//request.query
return this.httpService.delete(path).pipe(
map(response => response.data)
)
}
editExperiment(uuid: string, request: Request): Observable<string> {
const path = this.options.baseurl + `experiments/${uuid}`;
throw new Error("Method not implemented.");
}
startExperimentTransient(request: Request): Observable<string> {
const path = this.options.baseurl + "experiments";
throw new Error("Method not implemented.");
}
startExperiment(request: Request): Observable<string> {
const path = this.options.baseurl + "experiments/transient";
throw new Error("Method not implemented.");
}
getExperiments(): Observable<string> { getExperiments(): Observable<string> {
const path = this.options.baseurl + "experiments"; const path = this.options.baseurl + "experiments";
...@@ -20,8 +60,4 @@ export default class ExaremeService implements IEngineService { ...@@ -20,8 +60,4 @@ export default class ExaremeService implements IEngineService {
map(response => response.data) map(response => response.data)
); );
} }
demo(): string {
return "exareme"
}
} }
\ No newline at end of file
import { HttpService } from '@nestjs/axios'; import { Controller, Delete, Get, Inject, Param, Patch, Post, Req } from '@nestjs/common';
import { Controller, Get, Inject, Req } from '@nestjs/common';
import { Request } from 'express'; import { Request } from 'express';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { ENGINE_SERVICE } from './engine.constants'; import { ENGINE_SERVICE } from './engine.constants';
...@@ -24,4 +23,28 @@ export class EngineController { ...@@ -24,4 +23,28 @@ export class EngineController {
return this.engineService.getExperiments(request); return this.engineService.getExperiments(request);
} }
@Get("/experiments/:uuid")
getExperiment(@Param('uuid') uuid: string): Observable<string> {
return this.engineService.getExperiment(uuid);
}
@Delete("/experiments/:uuid")
deleteExperiment(@Param('uuid') uuid: string, @Req() request: Request): Observable<string> {
return this.engineService.deleteExperiment(uuid, request);
}
@Patch("/experiments/:uuid")
editExperiment(@Param('uuid') uuid: string, @Req() request: Request): Observable<string> {
return this.engineService.editExperiment(uuid, request);
}
@Post("experiments/transient")
startExperimentTransient(@Req() request: Request): Observable<string> {
return this.engineService.startExperimentTransient(request);
}
@Post("experiments")
startExperiment(@Req() request: Request): Observable<string> {
return this.engineService.startExperiment(request);
}
} }
...@@ -12,4 +12,14 @@ export interface IEngineService { ...@@ -12,4 +12,14 @@ export interface IEngineService {
getAlgorithms(request: Request): Observable<string>; getAlgorithms(request: Request): Observable<string>;
getExperiments(request: Request): Observable<string>; getExperiments(request: Request): Observable<string>;
getExperiment(uuid: string): Observable<string>;
deleteExperiment(uuid: string, request: Request): Observable<string>;
editExperiment(uuid: string, request: Request): Observable<string>;
startExperimentTransient(request: Request): Observable<string>;
startExperiment(request: Request): Observable<string>;
} }
\ No newline at end of file
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