refactor(transportes): ♻️ Padroniza nome da rota de transportes
This commit is contained in:
98
src/routes/transports.routes.ts
Normal file
98
src/routes/transports.routes.ts
Normal file
@@ -0,0 +1,98 @@
|
||||
import { Router } from 'express';
|
||||
import { getRepository } from 'typeorm';
|
||||
import CalculateDistanceBetweenCoords from '../services/CalculateDistanceBetweenCoords';
|
||||
|
||||
const transporteRouter = Router();
|
||||
|
||||
transporteRouter.post('/', async (request, response) => {
|
||||
const { coordinatesFrom, coordinatesTo } = request.body;
|
||||
console.log(coordinatesFrom, coordinatesTo);
|
||||
const data = [
|
||||
{
|
||||
motorista: 'João',
|
||||
valor: 'R$ 150,00',
|
||||
lugares: '2',
|
||||
avaliacao: '4.5',
|
||||
bairros_atendidos: [{lat:-22.873432, lgn:-47.142274}],
|
||||
destinos: [{lat:-22.833645, lgn:-47.048905}],
|
||||
},
|
||||
{
|
||||
motorista: 'Ricardo',
|
||||
valor: 'R$ 180,00',
|
||||
lugares: '5',
|
||||
avaliacao: '4.0',
|
||||
bairros_atendidos: [{lat:-22.873432, lgn:-47.142274}],
|
||||
destinos: [{lat:-22.833645, lgn:-47.048905}],
|
||||
},
|
||||
{
|
||||
motorista: 'Luiz',
|
||||
valor: 'R$ 200,00',
|
||||
lugares: '1',
|
||||
avaliacao: '4.3',
|
||||
bairros_atendidos: [{lat:-22.873432, lgn:-47.142274}],
|
||||
destinos: [{lat:-22.833645, lgn:-47.048905}],
|
||||
},
|
||||
{
|
||||
motorista: 'Marcos',
|
||||
valor: 'R$ 199,00',
|
||||
lugares: '6',
|
||||
avaliacao: '4.9',
|
||||
bairros_atendidos: [{lat:-22.873432, lgn:-47.142274}],
|
||||
destinos: [{lat:-22.833645, lgn:-47.048905}],
|
||||
},
|
||||
{
|
||||
motorista: 'Orandi',
|
||||
valor: 'R$ 210,00',
|
||||
lugares: '8',
|
||||
avaliacao: '5.0',
|
||||
bairros_atendidos: [{lat:-22.873432, lgn:-47.142274}],
|
||||
destinos: [{lat:-22.833645, lgn:-47.048905}],
|
||||
},
|
||||
{
|
||||
motorista: 'Pedro',
|
||||
valor: 'R$ 189,00',
|
||||
lugares: '4',
|
||||
avaliacao: '4.1',
|
||||
bairros_atendidos: [{lat:-22.873432, lgn:-47.142274}],
|
||||
destinos: [{lat:-22.833645, lgn:-47.048905}],
|
||||
},
|
||||
{
|
||||
motorista: 'Pericles',
|
||||
valor: 'R$ 220,00',
|
||||
lugares: '19',
|
||||
avaliacao: '4.5',
|
||||
bairros_atendidos: [{lat:-23.873432, lgn:-47.142274}],
|
||||
destinos: [{lat:-22.833645, lgn:-47.048905}],
|
||||
},
|
||||
];
|
||||
|
||||
let lat_from:number = +coordinatesFrom.lat;
|
||||
let lng_from:number = +coordinatesFrom.lng;
|
||||
let lat_to:number = +coordinatesTo.lat;
|
||||
let lng_to:number = +coordinatesTo.lng;
|
||||
|
||||
let transportsFiltered = data.filter(x => {
|
||||
var distance = 0;
|
||||
var distance2 = 0;
|
||||
for (const i of x.bairros_atendidos) {
|
||||
let lat2:number = +i.lat;
|
||||
let lng2:number = +i.lgn;
|
||||
distance = CalculateDistanceBetweenCoords({lat1:lat_from, lng1:lng_from, lat2, lng2});
|
||||
if (distance <= 10) break;
|
||||
}
|
||||
|
||||
for (const j of x.destinos) {
|
||||
let lat2:number = +j.lat;
|
||||
let lng2:number = +j.lgn;
|
||||
distance2 = CalculateDistanceBetweenCoords({lat1:lat_to, lng1:lng_to, lat2, lng2});
|
||||
if (distance2 <= 10) break;
|
||||
}
|
||||
|
||||
return (distance <= 10 && distance2 <= 10);
|
||||
});
|
||||
|
||||
console.log(transportsFiltered)
|
||||
return response.json(transportsFiltered);
|
||||
});
|
||||
|
||||
export default transporteRouter;
|
||||
Reference in New Issue
Block a user