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
This commit is contained in:
Josepablo C
2025-04-08 22:59:11 -06:00
parent 97b0b2ff88
commit 5e55b0f738
3 changed files with 56 additions and 6 deletions

View File

@@ -7,7 +7,34 @@ const CompanyModel = getModel('companies');
const ProposalsModel = getModel('proposals'); const ProposalsModel = getModel('proposals');
const branchesModel = getModel('branches'); 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 ); const generic = new GenericHandler( Model, null, populate_list );
function getAndFilterList( query ){ function getAndFilterList( query ){

View File

@@ -2,17 +2,39 @@
const { getModel } = require( '../../../lib/Models' ); const { getModel } = require( '../../../lib/Models' );
const Model = getModel('loads'); const Model = getModel('loads');
const vehicle_projection = ['background_tracking','status','last_location_lat', const vehicle_projection = [
'last_location_lng','last_location_geo','last_location_time'] '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 user_projection = ['first_name','last_name','middle_name']
const company_projection = ["company_name"] const company_projection = ["company_name"]
const carrier_projection = [
'company_name',
'company_code',
'createdAt',
'rfc'
];
const populate_list = [ const populate_list = [
{path:'posted_by',select: user_projection }, {path:'posted_by',select: user_projection },
{path:'vehicle',select: vehicle_projection }, {path:'vehicle',select: vehicle_projection },
{path:'company',select: company_projection }, {path:'company',select: company_projection },
{path:'carrier',select: carrier_projection },
'posted_by_name', 'posted_by_name',
'categories' 'categories'
]; ];
@@ -21,6 +43,7 @@ const getById = async(req, res) => {
try{ try{
const elementId = req.params.id; const elementId = req.params.id;
const select = [ const select = [
"carrier",
"categories", "categories",
"shipment_code", "shipment_code",
"truck_type", "truck_type",

View File

@@ -18,7 +18,7 @@ const notificationsModel = getModel('notifications');
*/ */
async function onPostEvent( userId, proposalId ,newProposalData ){ async function onPostEvent( userId, proposalId ,newProposalData ){
/// When a post event happens it is assumed that a proposal is created /// 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 ){ async function onPatchEvent( userId, proposalId , newProposalData ){
if( !newProposalData.is_accepted ){ if( !newProposalData.is_accepted ){
ProposalsEvents.onProposalRejected( userId, proposalId ); await ProposalsEvents.onProposalRejected( userId, proposalId );
}else{ }else{
ProposalsEvents.onProposalAccepted( userId, proposalId ); await ProposalsEvents.onProposalAccepted( userId, proposalId );
} }
} }