mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-08 04:15:43 +00:00
Customer Truck Assignment and Portal Delivary Approval
This commit is contained in:
@@ -468,15 +468,15 @@ export class DemoBookingsSeeder {
|
||||
const djibouti = yardByCode.get("DJIBOUTI");
|
||||
const addis = yardByCode.get("ADDIS_ABABA");
|
||||
if (djibouti && addis) {
|
||||
const routeName = "Djibouti → Addis Ababa";
|
||||
let route = await manager.getRepository(Route).findOneBy({ name: routeName });
|
||||
let route = await manager.getRepository(Route).findOne({
|
||||
where: { originYardId: djibouti.id, destinationYardId: addis.id },
|
||||
});
|
||||
if (!route) {
|
||||
route = await manager.getRepository(Route).save(
|
||||
manager.getRepository(Route).create({
|
||||
name: routeName,
|
||||
originYardId: djibouti.id,
|
||||
destinationYardId: addis.id,
|
||||
isActive: true,
|
||||
status: 'AVAILABLE',
|
||||
}),
|
||||
);
|
||||
await manager.getRepository(RouteMilestone).save([
|
||||
@@ -484,11 +484,13 @@ export class DemoBookingsSeeder {
|
||||
routeId: route.id,
|
||||
yardId: djibouti.id,
|
||||
sequenceNo: 1,
|
||||
distanceKm: 0,
|
||||
}),
|
||||
manager.getRepository(RouteMilestone).create({
|
||||
routeId: route.id,
|
||||
yardId: addis.id,
|
||||
sequenceNo: 2,
|
||||
distanceKm: 780,
|
||||
}),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -80,6 +80,9 @@ export const CONTRACT_PERMISSIONS: FreightPermissionSeed[] = [
|
||||
perm('a3000001-0001-4000-8000-00000000000b', 'edr_freight_app:contracts:finalize_clearance', 'Finalize pre-booking clearance'),
|
||||
perm('a3000001-0001-4000-8000-00000000000c', 'edr_freight_app:contracts:create_booking', 'GL ET create booking under contract'),
|
||||
perm('a3000001-0001-4000-8000-00000000000d', 'edr_freight_app:contracts:ops_clearance_review', 'Operations review of self-clearance docs (Path A)'),
|
||||
perm('a3000001-0001-4000-8000-00000000000e', 'edr_freight_app:contracts:clearance_et_actions', 'GL Ethiopia phased clearance actions'),
|
||||
perm('a3000001-0001-4000-8000-00000000000f', 'edr_freight_app:contracts:clearance_dj_actions', 'GL Djibouti phased clearance actions'),
|
||||
perm('a3000001-0001-4000-8000-000000000010', 'edr_freight_app:contracts:clearance_duty_advise', 'Advise contract duty/tax'),
|
||||
];
|
||||
|
||||
const RULE_ENGINE_PERMISSION_IDS: Record<RuleEngineResourceSlug, { view: string; manage: string }> = {
|
||||
@@ -149,6 +152,9 @@ export const FREIGHT_PERMS = {
|
||||
finalizeClearance: 'edr_freight_app:contracts:finalize_clearance',
|
||||
createBooking: 'edr_freight_app:contracts:create_booking',
|
||||
opsClearanceReview: 'edr_freight_app:contracts:ops_clearance_review',
|
||||
clearanceEtActions: 'edr_freight_app:contracts:clearance_et_actions',
|
||||
clearanceDjActions: 'edr_freight_app:contracts:clearance_dj_actions',
|
||||
clearanceDutyAdvise: 'edr_freight_app:contracts:clearance_duty_advise',
|
||||
},
|
||||
trainScheduling: {
|
||||
view: 'edr_freight_app:train_scheduling:view',
|
||||
@@ -237,6 +243,8 @@ export const ROLE_PERMISSION_PRESETS = {
|
||||
FREIGHT_PERMS.contracts.clearanceReview,
|
||||
FREIGHT_PERMS.contracts.finalizeClearance,
|
||||
FREIGHT_PERMS.contracts.createBooking,
|
||||
FREIGHT_PERMS.contracts.clearanceEtActions,
|
||||
FREIGHT_PERMS.contracts.clearanceDutyAdvise,
|
||||
FREIGHT_PERMS.bookings.clearanceView,
|
||||
FREIGHT_PERMS.bookings.reviewDocuments,
|
||||
FREIGHT_PERMS.bookings.uploadClearanceOutput,
|
||||
@@ -247,6 +255,7 @@ export const ROLE_PERMISSION_PRESETS = {
|
||||
// damage reports. Read-only on the contract; no booking creation.
|
||||
glDjibouti: [
|
||||
FREIGHT_PERMS.contracts.view,
|
||||
FREIGHT_PERMS.contracts.clearanceDjActions,
|
||||
FREIGHT_PERMS.bookings.clearanceView,
|
||||
FREIGHT_PERMS.bookings.uploadClearanceOutput,
|
||||
FREIGHT_PERMS.bookings.operations,
|
||||
|
||||
@@ -286,15 +286,15 @@ export class PricingDataSeeder {
|
||||
|
||||
const routeRepo = manager.getRepository(Route);
|
||||
const milestoneRepo = manager.getRepository(RouteMilestone);
|
||||
const routeName = "Addis Ababa → Dire Dawa";
|
||||
let route = await routeRepo.findOneBy({ name: routeName });
|
||||
let route = await routeRepo.findOne({
|
||||
where: { originYardId: addis.id, destinationYardId: direDawa.id },
|
||||
});
|
||||
if (!route) {
|
||||
route = await routeRepo.save(
|
||||
routeRepo.create({
|
||||
name: routeName,
|
||||
originYardId: addis.id,
|
||||
destinationYardId: direDawa.id,
|
||||
isActive: true,
|
||||
status: 'AVAILABLE',
|
||||
}),
|
||||
);
|
||||
await milestoneRepo.save([
|
||||
@@ -302,11 +302,13 @@ export class PricingDataSeeder {
|
||||
routeId: route.id,
|
||||
yardId: addis.id,
|
||||
sequenceNo: 1,
|
||||
distanceKm: 0,
|
||||
}),
|
||||
milestoneRepo.create({
|
||||
routeId: route.id,
|
||||
yardId: direDawa.id,
|
||||
sequenceNo: 2,
|
||||
distanceKm: 445,
|
||||
}),
|
||||
]);
|
||||
this.logger.log("Seeded domestic route Addis Ababa → Dire Dawa");
|
||||
|
||||
Reference in New Issue
Block a user