lts-stats-api/app/requests/ivao/session.js

47 lines
1.1 KiB
JavaScript
Raw Normal View History

2023-01-06 00:58:55 +01:00
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,
}