From 580400c260372cf44c7f4eed3b0410f294923f09 Mon Sep 17 00:00:00 2001 From: Tal Jacob Date: Wed, 11 Jun 2025 09:06:23 +0300 Subject: [PATCH] Loop Through More Website Extensions For Fetching Company Logos Signed-off-by: Tal Jacob --- .../src/services/company_logo_service.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/nextstep-backend/src/services/company_logo_service.ts b/nextstep-backend/src/services/company_logo_service.ts index 0fbef50..1556d8c 100644 --- a/nextstep-backend/src/services/company_logo_service.ts +++ b/nextstep-backend/src/services/company_logo_service.ts @@ -1,9 +1,19 @@ import axios from 'axios'; -export const getCompanyLogo = async (companyName: string): Promise => { +export const getCompanyLogo = async (companyName: string, extensions: string[] = ['.com', '.co.il']): Promise => { try { - const response = await axios.get(`https://logo.clearbit.com/${encodeURIComponent(companyName)}.com`); - return response.status === 200 ? response.config.url ?? null : null; + for (const extension of extensions) { + try { + const response = await axios.get(`https://logo.clearbit.com/${encodeURIComponent(companyName)}${extension}`); + if (response.status === 200) { + return response.config.url!; + } + } catch (error) { + // Continue to next extension if this one fails + continue; + } + } + return null; } catch (error) { if (error instanceof Error) { console.error(`Failed to fetch logo for company: ${companyName}`, error.message);