feat: Adding public-load-tracking endpoint

This commit is contained in:
Josepablo C
2024-03-28 00:09:42 -06:00
parent 1e14e05a54
commit f97a3ddfc7
3 changed files with 55 additions and 0 deletions

View File

@@ -17,6 +17,7 @@ const publicCompanies = require('./public-companies/routes.js');
const publicVehicles = require('./public-vehicles/routes.js'); const publicVehicles = require('./public-vehicles/routes.js');
const publicLoads = require('./public-loads/routes.js'); const publicLoads = require('./public-loads/routes.js');
const publicLoadAttachments = require('./public-load-attachments/routes.js'); const publicLoadAttachments = require('./public-load-attachments/routes.js');
const publicLoadsTracking = require('./public-load-tracking/routes.js');
const states = require('./states/routes.js'); const states = require('./states/routes.js');
const test = require('./test/routes.js'); const test = require('./test/routes.js');
@@ -33,6 +34,7 @@ router.use("/public-companies", publicCompanies);
router.use("/public-vehicles", publicVehicles); router.use("/public-vehicles", publicVehicles);
router.use('/public-loads', publicLoads ); router.use('/public-loads', publicLoads );
router.use('/public-load-attachments', publicLoadAttachments ); router.use('/public-load-attachments', publicLoadAttachments );
router.use('/public-load-tracking', publicLoadsTracking );
router.use('/states', states); router.use('/states', states);
router.use("/test", test); router.use("/test", test);

View File

@@ -0,0 +1,7 @@
'use strict';
const router = require('express').Router();
const services= require('./services.js');
router.get('/:id', services.getById);
module.exports = router;

View File

@@ -0,0 +1,46 @@
"use strict";
const { getModel } = require( '../../../lib/Models' );
const Model = getModel('loads');
const vehicle_projection = ['background_tracking','status','last_location_lat',
'last_location_lng','last_location_geo','last_location_time']
const user_projection = ['first_name','last_name','middle_name']
const populate_list = [
{path:'posted_by',select: user_projection },
{path:'vehicle',select: vehicle_projection },
'posted_by_name',
'categories'
];
const getById = async(req, res) => {
try{
const elementId = req.params.id;
const select = [
"categories",
"truck_type",
"published_date",
"createdAt",
"status",
"load_status",
"weight",
"est_loading_date",
"est_unloading_date",
"origin.city",
"origin_geo",
"origin.state",
"destination.city",
"destination.state",
"destination_geo",
];
// const load = await Model.findOne( { _id : elementId , load_status : "Transit" } , select ).populate( populate_list );
const load = await Model.findById( elementId , select ).populate( populate_list );
res.send( load );
}catch(error){
console.error( error );
return res.status( 500 ).send({ error });
}
};
module.exports = { getById };