feat(Proposals): Add event to update proposal and loads on cancelation
This commit is contained in:
@@ -14,14 +14,25 @@ const companiesModel = getModel('companies');
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
async function onPatchEvent( id , newProposalData ){
|
async function onPatchEvent( id , newProposalData ){
|
||||||
if( !newProposalData.is_accepted ){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const proposal = await proposalsModel.findById( id );
|
const proposal = await proposalsModel.findById( id );
|
||||||
|
if( !newProposalData.is_accepted ){
|
||||||
|
/// Update Proposal:
|
||||||
|
/// Remove shipper
|
||||||
|
await proposalsModel.findByIdAndUpdate( id , {
|
||||||
|
shipper : null
|
||||||
|
} );
|
||||||
|
|
||||||
|
/// Update Load:
|
||||||
|
/// Remove carrier, driver and vehicle
|
||||||
|
await loadsModel.findByIdAndUpdate( proposal.load, {
|
||||||
|
carrier : null,
|
||||||
|
driver : null,
|
||||||
|
vehicle : null,
|
||||||
|
} );
|
||||||
|
}else{
|
||||||
const shipper_user = await usersModel.findById( proposal.accepted_by );
|
const shipper_user = await usersModel.findById( proposal.accepted_by );
|
||||||
const shipper = await companiesModel.findById( shipper_user.company );
|
const shipper = await companiesModel.findById( shipper_user.company );
|
||||||
const vehicle = await vehiclesModel.findById( proposal.vehicle );
|
const vehicle = await vehiclesModel.findById( proposal.vehicle );
|
||||||
|
|
||||||
/// Update Proposal:
|
/// Update Proposal:
|
||||||
/// Adding shipper to proposal
|
/// Adding shipper to proposal
|
||||||
await proposalsModel.findByIdAndUpdate( id , {
|
await proposalsModel.findByIdAndUpdate( id , {
|
||||||
@@ -36,5 +47,6 @@ async function onPatchEvent( id , newProposalData ){
|
|||||||
vehicle : proposal.vehicle,
|
vehicle : proposal.vehicle,
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = { onPatchEvent };
|
module.exports = { onPatchEvent };
|
||||||
|
|||||||
Reference in New Issue
Block a user