first commit
This commit is contained in:
		
							
								
								
									
										22
									
								
								app/requests/airports.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								app/requests/airports.js
									
									
									
									
									
										Normal 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
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										47
									
								
								app/requests/ivao/session.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								app/requests/ivao/session.js
									
									
									
									
									
										Normal 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,
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										0
									
								
								app/requests/ivao/user.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								app/requests/ivao/user.js
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										8
									
								
								app/requests/ivao/wazzup.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								app/requests/ivao/wazzup.js
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										10
									
								
								app/requests/request.js
									
									
									
									
									
										Normal 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,
 | 
			
		||||
};
 | 
			
		||||
		Reference in New Issue
	
	Block a user