first commit

This commit is contained in:
José Conde
2023-01-06 00:58:55 +01:00
commit 9a93aea9fe
18 changed files with 3080 additions and 0 deletions

22
app/requests/airports.js Normal file
View File

@ -0,0 +1,22 @@
//https://www.airport-data.com/api/ap_info.json?icao=KMIA
//https://airportdb.io/api/v1/airport/KMIA?apiToken=1419332340d1ac0b8c7921d2e38d763532b3d93e7f81382fd87356ac74347004877a5126bae6ef9de3a85f49b90e2426
const {
request
} = require('./request');
const apiToken = process.env.TOKEN_AIRPORTDB;
async function getAirport(icao = '') {
const url = `https://airportdb.io/api/v1/airport/${icao.toUpperCase()}`;
const options = {
params: {
apiToken
}
};
return await request(url, options);
}
module.exports = {
getAirport
};

View File

@ -0,0 +1,47 @@
const { request } = require('../request');
const getHistoricalSessions = async({ callsign, userId, from, to }) => {
//https://api.ivao.aero/v2/tracker/sessions?connectionType=PILOT&callsign=LTS&from=2022-01-01T00:00:00&to=2023-01-04T23:59:59&perPage=50
const url = 'https://api.ivao.aero/v2/tracker/sessions';
const params = {
connectionType: 'PILOT',
from,
page: 1,
perPage: 100,
to,
};
if (callsign) {
params.callsign = callsign;
}
if (userId) {
params.userId = userId;
}
const options = {
headers: {
apiKey: process.env.IVAO_APIKEY,
},
params,
};
return await _requestHistoricalRecursive([], url, options);
};
async function _requestHistoricalRecursive(data, url, options) {
console.log('options :>> ', options);
const { page, pages, items } = await request(url, options);
data = [...data, ...items];
if (page !== pages) {
options.params.page++;
return await _requestHistoricalRecursive(data, url, options)
} else {
return data;
}
}
module.exports = {
getHistoricalSessions,
}

View File

View File

@ -0,0 +1,8 @@
const { request } = require('../request');
const url = 'https://api.ivao.aero/v2/tracker/whazzup';
const getIvaoWazzup = async() => {
return await request(url);
};
module.exports = { getIvaoWazzup };

10
app/requests/request.js Normal file
View File

@ -0,0 +1,10 @@
const axios = require('axios');
const request = async(url, options) => {
const response = await axios.get(url, options);
return response.data;
};
module.exports = {
request,
};