47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
|
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,
|
||
|
}
|