feat: implement master data service and seed scripts for reference table management

This commit is contained in:
Syed Waseem
2026-07-29 16:07:11 +05:30
parent 046d36d069
commit 1fe403cb11
3 changed files with 17 additions and 4 deletions
+16 -2
View File
@@ -230,6 +230,7 @@ SELECT code, name, "tableName", description, "displayOrder", true FROM (VALUES
('passenger-type', 'Passenger Type', 'tbl_passenger_types', 'Passenger Type master', 1),
('cabin-class', 'Cabin Class', 'tbl_cabin_classes', 'Cabin Class master', 2),
('booking-channel', 'Booking Channel', 'tbl_booking_channels', 'Booking Channel master', 3),
('membership-tier', 'Membership Tier', 'tbl_membership_tiers', 'Membership Tier master', 4),
('loyalty-tier', 'Loyalty Tier', 'tbl_membership_tiers', 'Loyalty Tier master', 4),
('flight-type', 'Flight Type', 'tbl_flight_types', 'Flight Type master', 5),
('journey-type', 'Journey Type', 'tbl_journey_types', 'Journey Type master', 6),
@@ -253,7 +254,13 @@ SELECT code, name, "tableName", description, "displayOrder", true FROM (VALUES
('technical-fault-category', 'Technical Fault Category', 'tbl_technical_fault_categories', 'Technical Fault Category master', 24),
('refund-basis', 'Refund Basis', 'tbl_refund_bases', 'Refund Basis master', 25),
('currency', 'Currency', 'tbl_currencies', 'Currency master', 26),
('refund-method', 'Refund Method', 'tbl_refund_methods', 'Refund Method master', 27)
('refund-method', 'Refund Method', 'tbl_refund_methods', 'Refund Method master', 27),
('ancillary-purchase', 'Ancillary Purchase', 'tbl_ancillary_purchases', 'Ancillary Purchase master', 28),
('customer-value', 'Customer Value', 'tbl_customer_values', 'Customer Value master', 29),
('region', 'Region', 'tbl_regions', 'Region master', 30),
('revenue-segment', 'Revenue Segment', 'tbl_revenue_segments', 'Revenue Segment master', 31),
('jurisdiction', 'Jurisdiction', 'tbl_jurisdictions', 'Jurisdiction master', 32),
('operator', 'Operator', 'tbl_operators', 'Operator master', 33)
) AS t(code, name, "tableName", description, "displayOrder")
WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_rules_categories WHERE masters.tbl_rules_categories.code = t.code);
@@ -263,6 +270,7 @@ FROM (VALUES
('passenger-type', 'tbl_passenger_types'),
('cabin-class', 'tbl_cabin_classes'),
('booking-channel', 'tbl_booking_channels'),
('membership-tier', 'tbl_membership_tiers'),
('loyalty-tier', 'tbl_membership_tiers'),
('flight-type', 'tbl_flight_types'),
('journey-type', 'tbl_journey_types'),
@@ -286,7 +294,13 @@ FROM (VALUES
('technical-fault-category', 'tbl_technical_fault_categories'),
('refund-basis', 'tbl_refund_bases'),
('currency', 'tbl_currencies'),
('refund-method', 'tbl_refund_methods')
('refund-method', 'tbl_refund_methods'),
('ancillary-purchase', 'tbl_ancillary_purchases'),
('customer-value', 'tbl_customer_values'),
('region', 'tbl_regions'),
('revenue-segment', 'tbl_revenue_segments'),
('jurisdiction', 'tbl_jurisdictions'),
('operator', 'tbl_operators')
) AS v(code, "tableName")
WHERE c.code = v.code AND (c."tableName" IS NULL OR c."tableName" != v."tableName");
-2
View File
@@ -15,8 +15,6 @@ async function bootstrap() {
const tenants = await tenantService.seedDemoTenants();
logger.log(`Seeded ${tenants.length} demo tenant(s)`);
await masterDataService.seedData();
logger.log('Master data ready (common across all tenants).');
logger.log('Seeding complete. Exiting...');
@@ -143,6 +143,7 @@ export class MasterDataService implements OnModuleInit {
case 'TBL_RULES_CATEGORIES':
return this.ruleCategoryRepo;
case 'OPERATOR':
case 'OPERATORS':
case 'TBL_OPERATORS':
return this.operatorRepo;