OTM/router/api.js

84 lines
1.9 KiB
JavaScript
Raw Normal View History

2021-07-16 09:12:30 +02:00
const axios = require('axios');
module.exports = (fastify, opts, done) => {
fastify.get('/flight/:id', async (req,reply) => {
const ENDPOINT = 'https://www.flightradar24.com/v1/search/web/find';
const FORMAT = '-';
if(req.params.id){
axios.get(ENDPOINT,{
params: {
format: FORMAT,
query: req.params.id,
limit:16,
type: 'schedule'
}
2021-07-16 12:17:32 +02:00
}).then(res=>reply.send(res.data));
}else{
reply.send([]);
}
});
fastify.get('/place/:id', async (req,reply) => {
const ENDPOINT = 'https://nominatim.openstreetmap.org/';
const FORMAT = 'jsonv2';
if(req.params.id){
axios.get(ENDPOINT,{
params: {
format: FORMAT,
q: req.params.id,
}
}).then(res=>reply.send(res.data));
2021-07-16 09:12:30 +02:00
}else{
reply.send([]);
}
});
2021-07-16 12:12:05 +02:00
fastify.get('/:id', async (req, reply) => {
2021-07-16 09:12:30 +02:00
if(req.params.id == undefined){
2021-07-16 12:12:05 +02:00
return reply.code(400).send({error:"No ID query parameter"});
2021-07-16 09:12:30 +02:00
}
2021-07-16 12:12:05 +02:00
return fastify.level.db.get(req.params.id, (err, val) => {
if(err){
console.warn(err);
reply.send({name:"New Journey", main:[]});
} else {
reply.send(JSON.parse(val));
}
});
2021-07-16 09:12:30 +02:00
});
2021-07-16 12:12:05 +02:00
fastify.post('/:id', async (req, reply) => {
2021-07-16 09:12:30 +02:00
if(req.params.id == undefined){
2021-07-16 12:12:05 +02:00
return reply.code(400).send({error:"No ID query parameter"});
2021-07-16 09:12:30 +02:00
}
2021-07-16 12:12:05 +02:00
return fastify.level.db.put(req.params.id, JSON.stringify(req.body), (err) => {
if(err){
console.warn(err);
reply.code(500).send({error:"Error with DB"});
} else {
reply.send({content:"ok"});
}
});
2021-07-16 09:12:30 +02:00
});
2021-07-16 12:12:05 +02:00
// fastify.delete('/:id',(req, reply) => {
// if(req.params.id == undefined){
// reply.code(400).send({error:"No ID query parameter"});
// } else {
// fastify.level.delete(req.params.id,(err) => {
// if(err){
// console.warn(err);
// reply.code(500).send({error:"Error with DB"});
// } else {
// reply.send({content:"ok"});
// }
// });
// }
// });
2021-07-16 09:12:30 +02:00
done();
};