From 5e55b0f738ba37e32eb29c5d506f08f3d3a87e11 Mon Sep 17 00:00:00 2001 From: Josepablo C Date: Tue, 8 Apr 2025 22:59:11 -0600 Subject: [PATCH] fix(proposal events): Add userId to update accepted_by and reorder event to update all objects in time feat(loads/public-load-tracking): add missing data to load objects --- v1/src/apps/private/loads/services.js | 29 ++++++++++++++++++- .../public/public-load-tracking/services.js | 27 +++++++++++++++-- v1/src/lib/Handlers/Proposals.handler.js | 6 ++-- 3 files changed, 56 insertions(+), 6 deletions(-) diff --git a/v1/src/apps/private/loads/services.js b/v1/src/apps/private/loads/services.js index d988d14..509d43b 100644 --- a/v1/src/apps/private/loads/services.js +++ b/v1/src/apps/private/loads/services.js @@ -7,7 +7,34 @@ const CompanyModel = getModel('companies'); const ProposalsModel = getModel('proposals'); const branchesModel = getModel('branches'); -const populate_list = ['product', 'company', 'carrier', 'vehicle', 'categories','shipper_warehouse','driver']; +const carrier_projection = [ + 'company_name', + 'company_code', + 'createdAt', + 'rfc' +]; + +const vehicle_projection = [ + 'vehicle_code', + 'truck_type', + 'driver', + 'categories', + 'circulation_serial_number', + 'trailer_plate_1', + 'trailer_plate_2', + 'city', +]; +const user_projection = ['first_name','last_name','middle_name']; +const populate_list = [ + 'product', + 'company', + 'categories', + 'shipper_warehouse', + {path:'carrier',select: carrier_projection }, + {path:'vehicle',select: vehicle_projection }, + {path:'driver',select: user_projection }, + {path:'bidder',select: user_projection }, +]; const generic = new GenericHandler( Model, null, populate_list ); function getAndFilterList( query ){ diff --git a/v1/src/apps/public/public-load-tracking/services.js b/v1/src/apps/public/public-load-tracking/services.js index b232c72..2b121a1 100644 --- a/v1/src/apps/public/public-load-tracking/services.js +++ b/v1/src/apps/public/public-load-tracking/services.js @@ -2,17 +2,39 @@ 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 vehicle_projection = [ + 'background_tracking', + 'status', + 'last_location_lat', + 'last_location_lng', + 'last_location_geo', + 'last_location_time', + 'vehicle_code', + 'truck_type', + 'driver', + 'categories', + 'circulation_serial_number', + 'trailer_plate_1', + 'trailer_plate_2', + 'city', +]; const user_projection = ['first_name','last_name','middle_name'] const company_projection = ["company_name"] +const carrier_projection = [ + 'company_name', + 'company_code', + 'createdAt', + 'rfc' +]; + const populate_list = [ {path:'posted_by',select: user_projection }, {path:'vehicle',select: vehicle_projection }, {path:'company',select: company_projection }, + {path:'carrier',select: carrier_projection }, 'posted_by_name', 'categories' ]; @@ -21,6 +43,7 @@ const getById = async(req, res) => { try{ const elementId = req.params.id; const select = [ + "carrier", "categories", "shipment_code", "truck_type", diff --git a/v1/src/lib/Handlers/Proposals.handler.js b/v1/src/lib/Handlers/Proposals.handler.js index 3bd20cc..8d5c958 100644 --- a/v1/src/lib/Handlers/Proposals.handler.js +++ b/v1/src/lib/Handlers/Proposals.handler.js @@ -18,7 +18,7 @@ const notificationsModel = getModel('notifications'); */ async function onPostEvent( userId, proposalId ,newProposalData ){ /// When a post event happens it is assumed that a proposal is created - ProposalsEvents.onProposalCreate( userId, proposalId ); + await ProposalsEvents.onProposalCreate( userId, proposalId ); } /** @@ -30,9 +30,9 @@ async function onPostEvent( userId, proposalId ,newProposalData ){ */ async function onPatchEvent( userId, proposalId , newProposalData ){ if( !newProposalData.is_accepted ){ - ProposalsEvents.onProposalRejected( userId, proposalId ); + await ProposalsEvents.onProposalRejected( userId, proposalId ); }else{ - ProposalsEvents.onProposalAccepted( userId, proposalId ); + await ProposalsEvents.onProposalAccepted( userId, proposalId ); } }