feat: Adding missing event handlers (templates)

This commit is contained in:
Josepablo C
2025-07-22 22:19:20 -06:00
parent e10bf050a2
commit b5e9ced8ad
11 changed files with 371 additions and 43 deletions

View File

@@ -0,0 +1,59 @@
'user strict';
const ClientEvents = require('./Client');
const WarehouseEvents = require('./Warehouse');
const NOTIFICATION_TYPE={
CLIENT:0,
WAREHOUSE:1,
BOTH:2,
}
async function onProposalAccepted( notification_type, content ){
const { warehouse, load, carrier, product, vehicle, driver } = content;
switch ( notification_type ){
case NOTIFICATION_TYPE.CLIENT:
return await ClientEvents.onProposalAccepted( load, carrier, product, vehicle, driver );
case NOTIFICATION_TYPE.WAREHOUSE:
return await WarehouseEvents.onProposalAccepted( warehouse, load, carrier, product, vehicle, driver );
case NOTIFICATION_TYPE.BOTH:
await WarehouseEvents.onProposalAccepted( warehouse, load, carrier, product, vehicle, driver );
await ClientEvents.onProposalAccepted( load, carrier, product, vehicle, driver );
default:
return;
}
}
async function onProposalDriverChanged( notification_type, content ){
const { warehouse, load, carrier, product, vehicle, driver } = content;
switch ( notification_type ){
case NOTIFICATION_TYPE.CLIENT:
return await ClientEvents.onProposalDriverChanged( load, carrier, product, vehicle, driver );
case NOTIFICATION_TYPE.WAREHOUSE:
return await WarehouseEvents.onProposalDriverChanged( warehouse, load, carrier, product, vehicle, driver );
case NOTIFICATION_TYPE.BOTH:
await WarehouseEvents.onProposalDriverChanged( warehouse, load, carrier, product, vehicle, driver );
await ClientEvents.onProposalDriverChanged( load, carrier, product, vehicle, driver );
default:
return;
}
}
async function onProposalVehicleChanged( notification_type, content ){
const { warehouse, load, carrier, product, vehicle, driver } = content;
switch ( notification_type ){
case NOTIFICATION_TYPE.CLIENT:
return await ClientEvents.onProposalVehicleChanged( load, carrier, product, vehicle, driver );
case NOTIFICATION_TYPE.WAREHOUSE:
return await WarehouseEvents.onProposalVehicleChanged( warehouse, load, carrier, product, vehicle, driver );
case NOTIFICATION_TYPE.BOTH:
await WarehouseEvents.onProposalVehicleChanged( warehouse, load, carrier, product, vehicle, driver );
await ClientEvents.onProposalVehicleChanged( load, carrier, product, vehicle, driver );
default:
return;
}
}
module.exports = { NOTIFICATION_TYPE, onProposalAccepted, onProposalDriverChanged, onProposalVehicleChanged };