64 lines
1.9 KiB
JavaScript
64 lines
1.9 KiB
JavaScript
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() |