feat: implement master data module with CRUD services and entity support for common lookup tables

This commit is contained in:
azeeee05
2026-07-08 11:11:58 +05:30
parent 9e64243759
commit 44afa45f7a
13 changed files with 41 additions and 108 deletions
+33 -33
View File
@@ -47,7 +47,6 @@ export class MasterDataService {
const repo = this.getRepositoryByCategory(category);
return repo.find({
where: { isActive: true },
order: { sortOrder: 'ASC' },
});
}
@@ -85,12 +84,12 @@ export class MasterDataService {
// MEMBERSHIP_TIER
if (await this.membershipTierRepo.count() === 0) {
const data = [
{ label: 'Platinum', value: 'platinum', sortOrder: 1 },
{ label: 'Gold', value: 'gold', sortOrder: 2 },
{ label: 'Silver', value: 'silver', sortOrder: 3 },
{ label: 'Bronze', value: 'bronze', sortOrder: 4 },
{ label: 'Basic', value: 'basic', sortOrder: 5 },
{ label: 'Non-Member', value: 'non-member', sortOrder: 6 },
{ label: 'Platinum', value: 'platinum' },
{ label: 'Gold', value: 'gold' },
{ label: 'Silver', value: 'silver' },
{ label: 'Bronze', value: 'bronze' },
{ label: 'Basic', value: 'basic' },
{ label: 'Non-Member', value: 'non-member' },
];
await this.membershipTierRepo.save(this.membershipTierRepo.create(data));
}
@@ -98,9 +97,9 @@ export class MasterDataService {
// CUSTOMER_VALUE
if (await this.customerValueRepo.count() === 0) {
const data = [
{ label: 'High Value', value: 'high', sortOrder: 1 },
{ label: 'Medium Value', value: 'medium', sortOrder: 2 },
{ label: 'Low Value', value: 'low', sortOrder: 3 },
{ label: 'High Value', value: 'high' },
{ label: 'Medium Value', value: 'medium' },
{ label: 'Low Value', value: 'low' },
];
await this.customerValueRepo.save(this.customerValueRepo.create(data));
}
@@ -108,12 +107,12 @@ export class MasterDataService {
// REGION
if (await this.regionRepo.count() === 0) {
const data = [
{ label: 'Global', value: 'global', sortOrder: 1 },
{ label: 'Americas', value: 'americas', sortOrder: 2 },
{ label: 'Europe', value: 'europe', sortOrder: 3 },
{ label: 'Middle East', value: 'middle-east', sortOrder: 4 },
{ label: 'Asia Pacific', value: 'asia-pacific', sortOrder: 5 },
{ label: 'Africa', value: 'africa', sortOrder: 6 },
{ label: 'Global', value: 'global' },
{ label: 'Americas', value: 'americas' },
{ label: 'Europe', value: 'europe' },
{ label: 'Middle East', value: 'middle-east' },
{ label: 'Asia Pacific', value: 'asia-pacific' },
{ label: 'Africa', value: 'africa' },
];
await this.regionRepo.save(this.regionRepo.create(data));
}
@@ -121,10 +120,11 @@ export class MasterDataService {
// TRIP_PURPOSE
if (await this.tripPurposeRepo.count() === 0) {
const data = [
{ label: 'Business', value: 'business', sortOrder: 1 },
{ label: 'Leisure', value: 'leisure', sortOrder: 2 },
{ label: 'Corporate', value: 'corporate', sortOrder: 3 },
{ label: 'Government', value: 'government', sortOrder: 4 },
{ label: 'Business', value: 'business' },
{ label: 'Leisure', value: 'leisure' },
{ label: 'Corporate', value: 'corporate' },
{ label: 'Government', value: 'government' },
];
await this.tripPurposeRepo.save(this.tripPurposeRepo.create(data));
}
@@ -132,10 +132,10 @@ export class MasterDataService {
// CABIN_CLASS
if (await this.cabinClassRepo.count() === 0) {
const data = [
{ label: 'First Class', value: 'first-class', sortOrder: 1 },
{ label: 'Business Class', value: 'business-class', sortOrder: 2 },
{ label: 'Premium Economy', value: 'premium-economy', sortOrder: 3 },
{ label: 'Economy', value: 'economy', sortOrder: 4 },
{ label: 'First Class', value: 'first-class' },
{ label: 'Business Class', value: 'business-class' },
{ label: 'Premium Economy', value: 'premium-economy' },
{ label: 'Economy', value: 'economy' },
];
await this.cabinClassRepo.save(this.cabinClassRepo.create(data));
}
@@ -143,10 +143,10 @@ export class MasterDataService {
// PASSENGER_TYPE
if (await this.passengerTypeRepo.count() === 0) {
const data = [
{ label: 'Adult', value: 'adult', sortOrder: 1 },
{ label: 'Child', value: 'child', sortOrder: 2 },
{ label: 'Infant', value: 'infant', sortOrder: 3 },
{ label: 'Senior Citizen', value: 'senior', sortOrder: 4 },
{ label: 'Adult', value: 'adult' },
{ label: 'Child', value: 'child' },
{ label: 'Infant', value: 'infant' },
{ label: 'Senior Citizen', value: 'senior' },
];
await this.passengerTypeRepo.save(this.passengerTypeRepo.create(data));
}
@@ -154,11 +154,11 @@ export class MasterDataService {
// ANCILLARY_PURCHASE
if (await this.ancillaryPurchaseRepo.count() === 0) {
const data = [
{ label: 'Extra Baggage', value: 'extra-baggage', sortOrder: 1 },
{ label: 'Seat Selection', value: 'seat-selection', sortOrder: 2 },
{ label: 'In-Flight Meal', value: 'in-flight-meal', sortOrder: 3 },
{ label: 'Lounge Access', value: 'lounge-access', sortOrder: 4 },
{ label: 'Priority Boarding', value: 'priority-boarding', sortOrder: 5 },
{ label: 'Extra Baggage', value: 'extra-baggage' },
{ label: 'Seat Selection', value: 'seat-selection' },
{ label: 'In-Flight Meal', value: 'in-flight-meal' },
{ label: 'Lounge Access', value: 'lounge-access' },
{ label: 'Priority Boarding', value: 'priority-boarding' },
];
await this.ancillaryPurchaseRepo.save(this.ancillaryPurchaseRepo.create(data));
}