import axios from 'axios'; import express from "express" import * as dotenv from "dotenv"; dotenv.config({path: '../../.env'}) const key = process.env.OPEN_TRIP_MAPS_KEY const optionsDrink = { method: 'GET', url: 'https://api.opentripmap.com/0.1/en/places/radius', params: { radius: '1000', lon: '-1.43333', lat: '46.66667', apikey: key, kinds: 'bars,cafes,pubs,biergartens' }, headers: {'Content-Type': 'application/json'} }; const optionsCity = { method: 'GET', url: 'https://api.opentripmap.com/0.1/en/places/geoname', params: { name: 'Paris', apikey: key }, headers: {'Content-Type': 'application/json'} }; /** * Handle GET request for city search route ('/otm/city'). * @param {express.Request} req - HTTP Request object. * @param {express.Response} res - HTTP Response object. */ export async function getCity(req: express.Request, res: express.Response) { const cityName = req.query["name"] const radius = req.query["radius"] if(!key){ res.status(401).send("Missing OTM key") return } if(!cityName){ res.status(400).send("Missing Argument name") return } if(radius){ optionsDrink.params.radius = radius as string } optionsCity.params.name = cityName as string try { const { data } = await axios.request(optionsCity); optionsDrink.params.lat = data.lat optionsDrink.params.lon = data.lon } catch (error) { console.error(error); } try { const { data } = await axios.request(optionsDrink); res.send(data); } catch (error) { console.error(error); } }