diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts index dc9b74ea9107c40f69719813d4c62ba1d41c8ad1..f096ddde5642606b8f3196e2e00f182d326268b2 100644 --- a/api/src/engine/connectors/exareme/main.connector.ts +++ b/api/src/engine/connectors/exareme/main.connector.ts @@ -130,26 +130,28 @@ export default class ExaremeService implements IEngineService { this.httpService.get<Pathology[]>(path), ); - return data.data - .filter((data) => !ids || ids.length == 0 || ids.includes(data.code)) - .map((data): Domain => { - const groups = this.flattenGroups(data.metadataHierarchy); - - return { - id: data.code, - label: data.label, - groups: groups, - rootGroup: dataToGroup(data.metadataHierarchy), - datasets: data.datasets ? data.datasets.map(dataToCategory) : [], - variables: data.metadataHierarchy - ? this.flattenVariables(data.metadataHierarchy, groups) - : [], - }; - }); - } catch { + return ( + data?.data + .filter((data) => !ids || ids.length == 0 || ids.includes(data.code)) + .map((data): Domain => { + const groups = this.flattenGroups(data.metadataHierarchy); + + return { + id: data.code, + label: data.label, + groups: groups, + rootGroup: dataToGroup(data.metadataHierarchy), + datasets: data.datasets ? data.datasets.map(dataToCategory) : [], + variables: data.metadataHierarchy + ? this.flattenVariables(data.metadataHierarchy, groups) + : [], + }; + }) ?? [] + ); + } catch (error) { throw new HttpException( - `Connection to the engine ${this.options.type} failed`, - HttpStatus.NOT_FOUND, + `Error in exareme engine : '${error.response.data['message']}'`, + error.response.data['statusCode'] ?? HttpStatus.INTERNAL_SERVER_ERROR, ); } }