require('dotenv').config() const mysql = require('mysql2/promise'); const axios = require('axios') const startDate = '2018-01' const endDate = '2018-12' async function main() { const connection = await mysql.createConnection({ host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASSWORD, port: process.env.DB_PORT, database: 'travopti' }); const [result, fields] = await connection.execute(`SELECT * FROM regions WHERE meteostat_id IS NOT NULL`) Promise.all(result.map(res => { console.log(res) return axios.get(`https://api.meteostat.net/v1/climate/normals?station=${res.meteostat_id}&key=${process.env.METEOSTAT_API_KEY}`) })).then(responses => { responses.forEach(response => { //console.log(response.data) }) //console.log(responses[0]) }) connection.end(); } async function createClimateObject(src) { let response = await axios.get(`https://api.meteostat.net/v1/climate/normals?station=${res.meteostat_id}&key=${process.env.METEOSTAT_API_KEY}`) let temperatures = response.data.data.temperature let precipitations = response.data.data.precipitation let sunshines = response.data.data.sunshine console.log(Object.entries(temperatures)[0]) let results = [] for (let index = 1; index <= 12; index++) { //const element = array[index]; let result = { region: src.region, region_id: src.id, month: index, temperature: Object.values(temperatures)[index], precipitation: Object.values(precipitations)[index], sunshine: Object.values(sunshines)[index], } results.push(result) } return results } async function createClimateObjectFromLastYear(src) { let response = await axios.get(`https://api.meteostat.net/v1/history/monthly?station=${res.meteostat_id}&start=${startDate}&end=${endDate}&key=${process.env.METEOSTAT_API_KEY}`) let result = { region_id: src.id, } } main()