const axios = require("axios") const getRegionById = require("../models/getRegionById.js") const getPlaceNearby = require("../models/getPlaceNearby.js") module.exports = async (dbConn, id) => { const region = await getRegionById(dbConn, id) try { const region_id = region.region_id const region_lon = region.lon const region_lat = region.lat console.log("Updating nearby for region: ", region_id, region.name) const places = await getPlaceNearby(region_lat, region_lon) for (let result of places.results) { try { const name = result.name const rating = result.rating === undefined ? null : result.rating const lon = result.geometry.location.lng const lat = result.geometry.location.lat const photo_ref = result.photos[0].photo_reference const vicinity = result.vicinity console.log("# New tourist attraction:", region_id, region.name, name) await dbConn.query( `INSERT INTO regions_nearby (region_id,name,lon,lat,rating,vicinity,photo_reference) VALUES (${region_id},"${name}",${lon},${lat},${rating},"${vicinity}","${photo_ref}") ON DUPLICATE KEY UPDATE lon = ${lon}, lat = ${lat}, rating = ${rating}, vicinity = "${vicinity}", photo_reference = "${photo_ref}"` ); } catch (e) { console.log(e) } } } catch (e) { console.log(e) } const res = "region nearby by id update finished" return res }