feat: initialize master data module with seed script and service structure
This commit is contained in:
@@ -273,9 +273,9 @@ SELECT code, name, "tableName", description, "displayOrder", true FROM (VALUES
|
|||||||
('vehicle-category', 'Vehicle Category', 'tbl_vehicle_categories', 'Vehicle Category master', 43),
|
('vehicle-category', 'Vehicle Category', 'tbl_vehicle_categories', 'Vehicle Category master', 43),
|
||||||
('cabin-preference', 'Cabin Preference', 'tbl_cabin_preferences', 'Cabin Preference master', 44),
|
('cabin-preference', 'Cabin Preference', 'tbl_cabin_preferences', 'Cabin Preference master', 44),
|
||||||
('airline-preference', 'Airline Preference', 'tbl_airline_preferences', 'Airline Preference master', 45),
|
('airline-preference', 'Airline Preference', 'tbl_airline_preferences', 'Airline Preference master', 45),
|
||||||
('seat-type', 'Seat Type', 'tbl_seat_types', 'Seat Type master', 46),
|
('meal-category', 'Meal Category', 'tbl_meal_categories', 'Meal Category master', 46),
|
||||||
('meal-category', 'Meal Category', 'tbl_meal_categories', 'Meal Category master', 47),
|
('seat-category', 'Seat Category', 'tbl_seat_categories', 'Seat Category master', 47),
|
||||||
('seat-category', 'Seat Category', 'tbl_seat_categories', 'Seat Category master', 48)
|
('compensation-basis', 'Compensation Basis', 'tbl_compensation_bases', 'Compensation Basis master', 48)
|
||||||
) AS t(code, name, "tableName", description, "displayOrder")
|
) 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);
|
WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_rules_categories WHERE masters.tbl_rules_categories.code = t.code);
|
||||||
|
|
||||||
@@ -328,9 +328,9 @@ FROM (VALUES
|
|||||||
('vehicle-category', 'tbl_vehicle_categories'),
|
('vehicle-category', 'tbl_vehicle_categories'),
|
||||||
('cabin-preference', 'tbl_cabin_preferences'),
|
('cabin-preference', 'tbl_cabin_preferences'),
|
||||||
('airline-preference', 'tbl_airline_preferences'),
|
('airline-preference', 'tbl_airline_preferences'),
|
||||||
('seat-type', 'tbl_seat_types'),
|
|
||||||
('meal-category', 'tbl_meal_categories'),
|
('meal-category', 'tbl_meal_categories'),
|
||||||
('seat-category', 'tbl_seat_categories')
|
('seat-category', 'tbl_seat_categories'),
|
||||||
|
('compensation-basis', 'tbl_compensation_bases')
|
||||||
) AS v(code, "tableName")
|
) AS v(code, "tableName")
|
||||||
WHERE c.code = v.code AND (c."tableName" IS NULL OR c."tableName" != v."tableName");
|
WHERE c.code = v.code AND (c."tableName" IS NULL OR c."tableName" != v."tableName");
|
||||||
|
|
||||||
@@ -785,3 +785,12 @@ SELECT label, value, true FROM (VALUES
|
|||||||
('Extra Legroom', 'extra-legroom')
|
('Extra Legroom', 'extra-legroom')
|
||||||
) AS t(label, value)
|
) AS t(label, value)
|
||||||
WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_seat_categories WHERE masters.tbl_seat_categories.value = t.value);
|
WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_seat_categories WHERE masters.tbl_seat_categories.value = t.value);
|
||||||
|
|
||||||
|
-- 51. Compensation Bases
|
||||||
|
INSERT INTO masters.tbl_compensation_bases (label, value, "isActive")
|
||||||
|
SELECT label, value, true FROM (VALUES
|
||||||
|
('Regulatory Rule', 'regulatory-rule'),
|
||||||
|
('Airline Policy', 'airline-policy'),
|
||||||
|
('Percentage Difference', 'percentage-difference')
|
||||||
|
) AS t(label, value)
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_compensation_bases WHERE masters.tbl_compensation_bases.value = t.value);
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ import { CabinPreference } from './entities/cabin-preference.entity';
|
|||||||
import { AirlinePreference } from './entities/airline-preference.entity';
|
import { AirlinePreference } from './entities/airline-preference.entity';
|
||||||
import { MealCategory } from './entities/meal-category.entity';
|
import { MealCategory } from './entities/meal-category.entity';
|
||||||
import { SeatCategory } from './entities/seat-category.entity';
|
import { SeatCategory } from './entities/seat-category.entity';
|
||||||
|
import { CompensationBasis } from './entities/compensation-basis.entity';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
@@ -114,6 +115,7 @@ import { SeatCategory } from './entities/seat-category.entity';
|
|||||||
AirlinePreference,
|
AirlinePreference,
|
||||||
MealCategory,
|
MealCategory,
|
||||||
SeatCategory,
|
SeatCategory,
|
||||||
|
CompensationBasis,
|
||||||
]),
|
]),
|
||||||
],
|
],
|
||||||
controllers: [MasterDataController],
|
controllers: [MasterDataController],
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ import { CabinPreference } from './entities/cabin-preference.entity';
|
|||||||
import { AirlinePreference } from './entities/airline-preference.entity';
|
import { AirlinePreference } from './entities/airline-preference.entity';
|
||||||
import { MealCategory } from './entities/meal-category.entity';
|
import { MealCategory } from './entities/meal-category.entity';
|
||||||
import { SeatCategory } from './entities/seat-category.entity';
|
import { SeatCategory } from './entities/seat-category.entity';
|
||||||
|
import { CompensationBasis } from './entities/compensation-basis.entity';
|
||||||
|
|
||||||
import { CreateActionCategoryDto } from './dto/create-action-category.dto';
|
import { CreateActionCategoryDto } from './dto/create-action-category.dto';
|
||||||
import { UpdateActionCategoryDto } from './dto/update-action-category.dto';
|
import { UpdateActionCategoryDto } from './dto/update-action-category.dto';
|
||||||
@@ -127,6 +128,7 @@ export class MasterDataService implements OnModuleInit {
|
|||||||
@InjectRepository(AirlinePreference) private airlinePreferenceRepo: Repository<AirlinePreference>,
|
@InjectRepository(AirlinePreference) private airlinePreferenceRepo: Repository<AirlinePreference>,
|
||||||
@InjectRepository(MealCategory) private mealCategoryRepo: Repository<MealCategory>,
|
@InjectRepository(MealCategory) private mealCategoryRepo: Repository<MealCategory>,
|
||||||
@InjectRepository(SeatCategory) private seatCategoryRepo: Repository<SeatCategory>,
|
@InjectRepository(SeatCategory) private seatCategoryRepo: Repository<SeatCategory>,
|
||||||
|
@InjectRepository(CompensationBasis) private compensationBasisRepo: Repository<CompensationBasis>,
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
private getRepositoryByCategory(category: string): Repository<any> {
|
private getRepositoryByCategory(category: string): Repository<any> {
|
||||||
@@ -343,6 +345,10 @@ export class MasterDataService implements OnModuleInit {
|
|||||||
case 'TBL_SEAT_CATEGORIES':
|
case 'TBL_SEAT_CATEGORIES':
|
||||||
return this.seatCategoryRepo;
|
return this.seatCategoryRepo;
|
||||||
|
|
||||||
|
case 'COMPENSATION_BASIS':
|
||||||
|
case 'TBL_COMPENSATION_BASES':
|
||||||
|
return this.compensationBasisRepo;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw new BadRequestException(`Invalid category: ${category}`);
|
throw new BadRequestException(`Invalid category: ${category}`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user