From 5746b4f83589b39995e030f8dc6c9b61688cacec Mon Sep 17 00:00:00 2001 From: donghwan Date: Mon, 2 Jun 2025 12:40:13 +0900 Subject: [PATCH 1/4] =?UTF-8?q?refactor:=20=ED=83=80=EC=9E=85=20=EC=97=90?= =?UTF-8?q?=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/partnerCompany.ts | 64 ++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 10 deletions(-) diff --git a/src/services/partnerCompany.ts b/src/services/partnerCompany.ts index 68eca92..9d1d7fb 100644 --- a/src/services/partnerCompany.ts +++ b/src/services/partnerCompany.ts @@ -81,7 +81,17 @@ export async function fetchPartnerCompanies( companyNameFilter?: string ): Promise { try { - const url = new URL(`${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}`) + // 상대 경로일 경우 현재 창의 origin을 기준으로 URL 생성 + const baseUrl = + typeof window !== 'undefined' + ? window.location.origin // 브라우저 환경에서는 현재 도메인 사용 + : 'http://localhost:3000' // SSR 환경에서는 기본값으로 localhost 사용 + + const url = new URL( + `${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}`.startsWith('http') + ? `${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}` + : `${baseUrl}${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}` + ) url.searchParams.append('page', page.toString()) url.searchParams.append('pageSize', pageSize.toString()) @@ -292,22 +302,32 @@ export async function searchCompaniesFromDart( params: SearchCorpParams ): Promise { try { - const url = new URL(DART_CORP_CODES_ENDPOINT) + // 상대 경로일 경우 현재 창의 origin을 기준으로 URL 생성 + const baseUrl = + typeof window !== 'undefined' + ? window.location.origin // 브라우저 환경에서는 현재 도메인 사용 + : 'http://localhost:3000' // SSR 환경에서는 기본값으로 localhost 사용 + + const fullUrl = new URL( + DART_CORP_CODES_ENDPOINT.startsWith('http') + ? DART_CORP_CODES_ENDPOINT + : `${baseUrl}${DART_CORP_CODES_ENDPOINT}` + ) if (params.page !== undefined) { - url.searchParams.append('page', params.page.toString()) + fullUrl.searchParams.append('page', params.page.toString()) } if (params.pageSize !== undefined) { - url.searchParams.append('pageSize', params.pageSize.toString()) + fullUrl.searchParams.append('pageSize', params.pageSize.toString()) } if (params.listedOnly !== undefined) { - url.searchParams.append('listedOnly', params.listedOnly.toString()) + fullUrl.searchParams.append('listedOnly', params.listedOnly.toString()) } if (params.corpNameFilter) { - url.searchParams.append('corpNameFilter', params.corpNameFilter) + fullUrl.searchParams.append('corpNameFilter', params.corpNameFilter) } const token = useAuthStore.getState().accessToken @@ -321,7 +341,7 @@ export async function searchCompaniesFromDart( headers['X-API-KEY'] = process.env.NEXT_PUBLIC_DART_API_KEY || '' } - const response = await fetch(url.toString(), { + const response = await fetch(fullUrl.toString(), { method: 'GET', headers }) @@ -365,8 +385,16 @@ export async function fetchFinancialRiskAssessment( partnerName?: string ): Promise { try { + // 상대 경로일 경우 현재 창의 origin을 기준으로 URL 생성 + const baseUrl = + typeof window !== 'undefined' ? window.location.origin : 'http://localhost:3000' + const url = new URL( - `${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}/${corpCode}/financial-risk` + `${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}/${corpCode}/financial-risk`.startsWith( + 'http' + ) + ? `${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}/${corpCode}/financial-risk` + : `${baseUrl}${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}/${corpCode}/financial-risk` ) if (partnerName) { @@ -404,7 +432,15 @@ export async function fetchFinancialRiskAssessment( */ export async function fetchUniquePartnerCompanyNames(): Promise { try { - const url = new URL(UNIQUE_PARTNER_COMPANY_NAMES_ENDPOINT) + // 상대 경로일 경우 현재 창의 origin을 기준으로 URL 생성 + const baseUrl = + typeof window !== 'undefined' ? window.location.origin : 'http://localhost:3000' + + const url = new URL( + UNIQUE_PARTNER_COMPANY_NAMES_ENDPOINT.startsWith('http') + ? UNIQUE_PARTNER_COMPANY_NAMES_ENDPOINT + : `${baseUrl}${UNIQUE_PARTNER_COMPANY_NAMES_ENDPOINT}` + ) const token = useAuthStore.getState().accessToken const headers: HeadersInit = { @@ -442,7 +478,15 @@ export async function fetchPartnerCompanyDetail( partnerId: string ): Promise { try { - const url = new URL(`${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}/${partnerId}`) + // 상대 경로일 경우 현재 창의 origin을 기준으로 URL 생성 + const baseUrl = + typeof window !== 'undefined' ? window.location.origin : 'http://localhost:3000' + + const url = new URL( + `${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}/${partnerId}`.startsWith('http') + ? `${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}/${partnerId}` + : `${baseUrl}${API_BASE_URL}${PARTNER_COMPANIES_BASE_PATH}/${partnerId}` + ) const token = useAuthStore.getState().accessToken const headers: HeadersInit = { From e5e0e2d7f44c3d2e271ee6ab801d3697487b8f24 Mon Sep 17 00:00:00 2001 From: donghwan Date: Mon, 2 Jun 2025 12:41:22 +0900 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20type=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/partnerCompany.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/partnerCompany.ts b/src/services/partnerCompany.ts index 9d1d7fb..f209ce1 100644 --- a/src/services/partnerCompany.ts +++ b/src/services/partnerCompany.ts @@ -81,7 +81,7 @@ export async function fetchPartnerCompanies( companyNameFilter?: string ): Promise { try { - // 상대 경로일 경우 현재 창의 origin을 기준으로 URL 생성 + // 상대 경로일 경우 현재 창의 origin을 기준으로 URL 생성.. const baseUrl = typeof window !== 'undefined' ? window.location.origin // 브라우저 환경에서는 현재 도메인 사용 From 102acc6f5ee36ac72dd693b026cbe8881117d530 Mon Sep 17 00:00:00 2001 From: donghwan Date: Mon, 2 Jun 2025 12:41:56 +0900 Subject: [PATCH 3/4] =?UTF-8?q?refactor:=20type=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/partnerCompany.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/services/partnerCompany.ts b/src/services/partnerCompany.ts index f209ce1..3468037 100644 --- a/src/services/partnerCompany.ts +++ b/src/services/partnerCompany.ts @@ -81,7 +81,6 @@ export async function fetchPartnerCompanies( companyNameFilter?: string ): Promise { try { - // 상대 경로일 경우 현재 창의 origin을 기준으로 URL 생성.. const baseUrl = typeof window !== 'undefined' ? window.location.origin // 브라우저 환경에서는 현재 도메인 사용 From 93697312efb0f0aeaa9441328fd9272d7a489672 Mon Sep 17 00:00:00 2001 From: donghwan Date: Mon, 2 Jun 2025 12:44:52 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EC=97=90=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/partnerCompany.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/services/partnerCompany.ts b/src/services/partnerCompany.ts index 3468037..9d1d7fb 100644 --- a/src/services/partnerCompany.ts +++ b/src/services/partnerCompany.ts @@ -81,6 +81,7 @@ export async function fetchPartnerCompanies( companyNameFilter?: string ): Promise { try { + // 상대 경로일 경우 현재 창의 origin을 기준으로 URL 생성 const baseUrl = typeof window !== 'undefined' ? window.location.origin // 브라우저 환경에서는 현재 도메인 사용