diff --git a/backend/api/src/search-location.ts b/backend/api/src/search-location.ts index 323c3ae4..89c8f94a 100644 --- a/backend/api/src/search-location.ts +++ b/backend/api/src/search-location.ts @@ -1,15 +1,14 @@ import { APIHandler } from './helpers/endpoint' +import {geodbHost} from "common/constants"; export const searchLocation: APIHandler<'search-location'> = async (body) => { const { term, limit } = body const apiKey = process.env.GEODB_API_KEY - console.log('GEODB_API_KEY', apiKey) if (!apiKey) { return { status: 'failure', data: 'Missing GEODB API key' } } - const host = 'wft-geo-db.p.rapidapi.com' - const baseUrl = `https://${host}/v1/geo` + const baseUrl = `https://${geodbHost}/v1/geo` const url = `${baseUrl}/cities?namePrefix=${term}&limit=${ limit ?? 10 }&offset=0&sort=-population` @@ -19,7 +18,7 @@ export const searchLocation: APIHandler<'search-location'> = async (body) => { method: 'GET', headers: { 'X-RapidAPI-Key': apiKey, - 'X-RapidAPI-Host': host, + 'X-RapidAPI-Host': geodbHost, }, }) if (!res.ok) { @@ -27,7 +26,7 @@ export const searchLocation: APIHandler<'search-location'> = async (body) => { } const data = await res.json() - // console.log('GEO DB', data) + return { status: 'success', data: data } } catch (error: any) { console.log('failure', error) diff --git a/backend/api/src/search-near-city.ts b/backend/api/src/search-near-city.ts index 21c0609a..3b6a6d8a 100644 --- a/backend/api/src/search-near-city.ts +++ b/backend/api/src/search-near-city.ts @@ -1,4 +1,5 @@ import { APIHandler } from './helpers/endpoint' +import { geodbHost } from 'common/constants' export const searchNearCity: APIHandler<'search-near-city'> = async (body) => { const { cityId, radius } = body @@ -11,27 +12,29 @@ const searchNearCityMain = async (cityId: string, radius: number) => { if (!apiKey) { return { status: 'failure', data: 'Missing GEODB API key' } } - const host = 'wft-geo-db.p.rapidapi.com' - const baseUrl = `https://${host}/v1/geo` - const url = `${baseUrl}/cities/${cityId}/nearbyCities?radius=${radius}&offset=0&sort=-population&limit=100` + const baseUrl = `https://${geodbHost}/v1/geo` + // Limit to 10 cities for now for free plan, was 100 before (may need to buy plan) + const url = `${baseUrl}/cities/${cityId}/nearbyCities?radius=${radius}&offset=0&sort=-population&limit=10` try { const res = await fetch(url, { method: 'GET', headers: { 'X-RapidAPI-Key': apiKey, - 'X-RapidAPI-Host': host, + 'X-RapidAPI-Host': geodbHost, }, }) if (!res.ok) { - throw new Error(`HTTP error! Status: ${res.status}`) + throw new Error(`HTTP error! Status: ${res.status} ${await res.text()}`) } const data = await res.json() + console.log('searchNearCityMain', data) return { status: 'success', data: data } } catch (error) { + console.log('failure', error) return { status: 'failure', data: error } } } diff --git a/common/src/constants.ts b/common/src/constants.ts new file mode 100644 index 00000000..6b228adb --- /dev/null +++ b/common/src/constants.ts @@ -0,0 +1,2 @@ + +export const geodbHost = 'wft-geo-db.p.rapidapi.com' \ No newline at end of file diff --git a/web/hooks/use-nearby-locations.ts b/web/hooks/use-nearby-locations.ts index fcf1ce56..809c93f5 100644 --- a/web/hooks/use-nearby-locations.ts +++ b/web/hooks/use-nearby-locations.ts @@ -19,6 +19,7 @@ export function useNearbyCities( cityId: referenceCityId, radius, }).then((result) => { + console.log('search-near-city', result) if (thisSearchCount == searchCount.current) { if (result.status === 'failure') { setNearbyCities(null)