From 14257646c5480881b7a8b96db3ea946d6586860c Mon Sep 17 00:00:00 2001 From: stevereis <stevereis93@gmail.com> Date: Tue, 2 Nov 2021 18:16:57 +0100 Subject: [PATCH] ajout logout --- .../engine/connectors/csv/main.connector.ts | 4 ++++ .../connectors/datashield/main.connector.ts | 4 ++++ .../connectors/exareme/main.connector.ts | 22 +++++++++++++------ .../engine/connectors/local/main.connector.ts | 4 ++++ api/src/engine/engine.controller.ts | 5 +++++ api/src/engine/engine.interfaces.ts | 2 ++ 6 files changed, 34 insertions(+), 7 deletions(-) diff --git a/api/src/engine/connectors/csv/main.connector.ts b/api/src/engine/connectors/csv/main.connector.ts index eedb7ae..05864ad 100644 --- a/api/src/engine/connectors/csv/main.connector.ts +++ b/api/src/engine/connectors/csv/main.connector.ts @@ -19,6 +19,10 @@ export default class CSVService implements IEngineService { private readonly httpService: HttpService, ) {} + logout() { + throw new Error('Method not implemented.'); + } + getAlgorithms(): Algorithm[] | Promise<Algorithm[]> { throw new Error('Method not implemented.'); } diff --git a/api/src/engine/connectors/datashield/main.connector.ts b/api/src/engine/connectors/datashield/main.connector.ts index 829147f..4df8aa1 100644 --- a/api/src/engine/connectors/datashield/main.connector.ts +++ b/api/src/engine/connectors/datashield/main.connector.ts @@ -11,6 +11,10 @@ import { ExperimentEditInput } from 'src/engine/models/experiment/input/experime import { Algorithm } from 'src/engine/models/experiment/algorithm.model'; export default class DataShieldService implements IEngineService { + logout(): void { + throw new Error('Method not implemented.'); + } + getAlgorithms(): Algorithm[] | Promise<Algorithm[]> { throw new Error('Method not implemented.'); } diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts index b1c789e..35d34e7 100644 --- a/api/src/engine/connectors/exareme/main.connector.ts +++ b/api/src/engine/connectors/exareme/main.connector.ts @@ -1,6 +1,11 @@ import { HttpService } from '@nestjs/axios'; -import { BadRequestException, HttpException, HttpStatus } from '@nestjs/common'; -import { Request } from 'express'; +import { + BadRequestException, + HttpException, + HttpStatus, + Res, +} from '@nestjs/common'; +import { Request, Response } from 'express'; import { firstValueFrom, map, Observable } from 'rxjs'; import { IEngineOptions, IEngineService } from 'src/engine/engine.interfaces'; import { Domain } from 'src/engine/models/domain.model'; @@ -33,6 +38,14 @@ export default class ExaremeService implements IEngineService { private readonly httpService: HttpService, ) {} + async logout(@Res() response: Response = undefined) { + const path = `${this.options.baseurl}logout`; + + await firstValueFrom(this.httpService.get(path)); + + response?.clearCookie('OAuth_Token_Request_State'); + } + async createExperiment( data: ExperimentCreateInput, isTransient = false, @@ -109,11 +122,6 @@ export default class ExaremeService implements IEngineService { async getDomains(ids: string[]): Promise<Domain[]> { const path = this.options.baseurl + 'pathologies'; - console.log( - 'connectors headers', - this.httpService.axiosRef.defaults.headers, - ); - try { const data = await firstValueFrom( this.httpService.get<Pathology[]>(path), diff --git a/api/src/engine/connectors/local/main.connector.ts b/api/src/engine/connectors/local/main.connector.ts index 2ff1a44..cb472d9 100644 --- a/api/src/engine/connectors/local/main.connector.ts +++ b/api/src/engine/connectors/local/main.connector.ts @@ -11,6 +11,10 @@ import { ExperimentEditInput } from 'src/engine/models/experiment/input/experime import { Algorithm } from 'src/engine/models/experiment/algorithm.model'; export default class LocalService implements IEngineService { + logout(): void { + throw new Error('Method not implemented.'); + } + getAlgorithms(): Algorithm[] | Promise<Algorithm[]> { throw new Error('Method not implemented.'); } diff --git a/api/src/engine/engine.controller.ts b/api/src/engine/engine.controller.ts index fa8a75c..266f1a2 100644 --- a/api/src/engine/engine.controller.ts +++ b/api/src/engine/engine.controller.ts @@ -74,4 +74,9 @@ export class EngineController { agreeNDA(@Req() request: Request): Observable<string> | string { return this.engineService.editActiveUser(request); } + + @Get('logout') + logout(): void { + this.engineService.logout(); + } } diff --git a/api/src/engine/engine.interfaces.ts b/api/src/engine/engine.interfaces.ts index e3f68aa..331ffe7 100644 --- a/api/src/engine/engine.interfaces.ts +++ b/api/src/engine/engine.interfaces.ts @@ -63,4 +63,6 @@ export interface IEngineService { getActiveUser(request: Request): Observable<string> | string; editActiveUser(request: Request): Observable<string> | string; + + logout(): void; } -- GitLab