diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts index f096ddde5642606b8f3196e2e00f182d326268b2..146fb4308b44b7a189b1f31cadcd37e0c35cd8c0 100644 --- a/api/src/engine/connectors/exareme/main.connector.ts +++ b/api/src/engine/connectors/exareme/main.connector.ts @@ -226,6 +226,14 @@ export default class ExaremeService implements IEngineService { .pipe(map((response) => response.data)); } + getPassthrough(suffix: string): string | Observable<string> { + const path = this.options.baseurl + suffix; + + return this.httpService + .get<string>(path, { params: this.req.query }) + .pipe(map((response) => response.data)); + } + // UTILITIES private flattenGroups = (data: Hierarchy): Group[] => { let groups: Group[] = [dataToGroup(data)]; diff --git a/api/src/engine/engine.controller.ts b/api/src/engine/engine.controller.ts index d7f34d493e03ae0f08401baf9aab1b888851b9f9..e56fa8e7ef75d1b50b233fa28f548129126f790f 100644 --- a/api/src/engine/engine.controller.ts +++ b/api/src/engine/engine.controller.ts @@ -69,4 +69,9 @@ export class EngineController { logout(): void { this.engineService.logout(); } + + @Get('galaxy') + galaxy(): Observable<string> | string { + return this.engineService.getPassthrough?.('galaxy'); + } } diff --git a/api/src/engine/engine.interfaces.ts b/api/src/engine/engine.interfaces.ts index 29e57f161a8dc2a69c747d415fa529b4c986002a..ec4fbc7fb43c1b163e3c28eb191162b0e0cf8337 100644 --- a/api/src/engine/engine.interfaces.ts +++ b/api/src/engine/engine.interfaces.ts @@ -61,4 +61,6 @@ export interface IEngineService { editActiveUser(): Observable<string> | string; logout(): void; + + getPassthrough?(suffix: string): Observable<string> | string; }