diff --git a/back/src/domains/establishment/adapters/la-bonne-boite/HttpLaBonneBoiteGateway.ts b/back/src/domains/establishment/adapters/la-bonne-boite/HttpLaBonneBoiteGateway.ts index c2f1b06f46..1c8ac8ea5e 100644 --- a/back/src/domains/establishment/adapters/la-bonne-boite/HttpLaBonneBoiteGateway.ts +++ b/back/src/domains/establishment/adapters/la-bonne-boite/HttpLaBonneBoiteGateway.ts @@ -1,7 +1,6 @@ import Bottleneck from "bottleneck"; -import { RomeDto, SearchResultDto, SiretDto, castError } from "shared"; +import { RomeDto, SearchResultDto, SiretDto } from "shared"; import { HttpClient } from "shared-routes"; -import { createLogger } from "../../../../utils/logger"; import { FranceTravailGateway } from "../../../convention/ports/FranceTravailGateway"; import { WithCache } from "../../../core/caching-gateway/port/WithCache"; import { @@ -21,8 +20,6 @@ const lbbMaxQueryPerSeconds = 1; const lbbV2App = "api_labonneboitev2"; -const logger = createLogger(__filename); - export class HttpLaBonneBoiteGateway implements LaBonneBoiteGateway { #limiter = new Bottleneck({ reservoir: lbbMaxQueryPerSeconds, @@ -84,47 +81,31 @@ export class HttpLaBonneBoiteGateway implements LaBonneBoiteGateway { }); return this.#limiter.schedule(() => - cachedGetLbbResults(searchCompaniesParams) - .then((results) => { - return results - .map( - (props: LaBonneBoiteApiResultV2Props) => - new LaBonneBoiteCompanyDto(props), - ) - .filter((result) => result.isCompanyRelevant()) - .map((result) => - result.toSearchResult( - { - romeCode: searchCompaniesParams.romeCode, - romeLabel: searchCompaniesParams.romeLabel, - }, - { - lat: searchCompaniesParams.lat, - lon: searchCompaniesParams.lon, - }, - ), - ) - .filter((result) => - result.distance_m - ? result.distance_m <= searchCompaniesParams.distanceKm * 1000 - : true, - ); - }) - .catch((error) => { - logger.error({ - error: castError(error), - message: "searchCompanies_error", - searchLBB: { - distanceKm: searchCompaniesParams.distanceKm, - lat: searchCompaniesParams.lat, - lon: searchCompaniesParams.lon, - romeCode: searchCompaniesParams.romeCode, - romeLabel: searchCompaniesParams.romeLabel, - nafCodes: searchCompaniesParams.nafCodes, - }, - }); - return []; - }), + cachedGetLbbResults(searchCompaniesParams).then((results) => { + return results + .map( + (props: LaBonneBoiteApiResultV2Props) => + new LaBonneBoiteCompanyDto(props), + ) + .filter((result) => result.isCompanyRelevant()) + .map((result) => + result.toSearchResult( + { + romeCode: searchCompaniesParams.romeCode, + romeLabel: searchCompaniesParams.romeLabel, + }, + { + lat: searchCompaniesParams.lat, + lon: searchCompaniesParams.lon, + }, + ), + ) + .filter((result) => + result.distance_m + ? result.distance_m <= searchCompaniesParams.distanceKm * 1000 + : true, + ); + }), ); } @@ -157,28 +138,18 @@ export class HttpLaBonneBoiteGateway implements LaBonneBoiteGateway { }, }); return this.#limiter.schedule(async () => - cachedGetLbbResult(siret) - .then((result) => { - const item = result - .map( - (props: LaBonneBoiteApiResultV2Props) => - new LaBonneBoiteCompanyDto(props), - ) - .filter((result) => result.isCompanyRelevant()) - .map((result) => result.toSearchResult(romeDto)) - .at(0); + cachedGetLbbResult(siret).then((result) => { + const item = result + .map( + (props: LaBonneBoiteApiResultV2Props) => + new LaBonneBoiteCompanyDto(props), + ) + .filter((result) => result.isCompanyRelevant()) + .map((result) => result.toSearchResult(romeDto)) + .at(0); - return item ?? null; - }) - .catch((error) => { - logger.error({ - error: castError(error), - message: "fetchCompanyBySiret_error", - siret, - romeLabel: romeDto.romeLabel, - }); - throw error; - }), + return item ?? null; + }), ); }