const fs = require('fs') const db = require("../models") const Airport = db['Airport'] const Flight = db['Flight'] db.sequelize.sync() fs.readFile(__dirname + '/../data/airports.json', 'utf-8', (error, data) => { if (error) { console.log(error) return } data = JSON.parse(data) Airport.findAll({attributes: ['icao_code', 'iata_code']}).then(results => { let icao_codes = [] let iata_codes = [] results.forEach(result => { if (result.icao_code) icao_codes.push(result.icao_code) if (result.iata_code) iata_codes.push(result.iata_code) }) Airport.bulkCreate(data['response'].filter(airport => !icao_codes.includes(airport.icao_code) && !iata_codes.includes(airport.iata_code))).then() }).then(() => { Airport.findAll({attributes: ['icao_code']}).then(airports => { airports.forEach(airport => { fs.readFile(__dirname + `/../data/routes/${airport.icao_code}.json`, 'utf-8', (error, data) => { if (error) { console.log(error) return } data = JSON.parse(data) Flight.destroy({where: {dep_icao: airport.icao_code}}).then(() => { Flight.bulkCreate(data['response']).then() }) }) }) }) }) })