sending the precise error

This commit is contained in:
2026-04-13 15:55:40 +05:30
parent 25b82bee31
commit 94454a6f25

View File

@@ -2958,14 +2958,22 @@ export class ItineraryService {
);
}
const availableFoodTypes = itineraryActivity.activity.activityFoodTypes.map((entry) => ({
id: entry.id,
name: entry.foodType.foodTypeName,
}));
const availableFoodTypeIds = new Set(
itineraryActivity.activity.activityFoodTypes.map((entry) => entry.id),
availableFoodTypes.map((entry) => entry.id),
);
const availableNavigationModeIds = new Set(
itineraryActivity.activity.ActivityNavigationModes.map((entry) => entry.id),
);
const availableEquipments = itineraryActivity.activity.ActivityEquipments.map((entry) => ({
id: entry.id,
name: entry.equipmentName,
}));
const availableEquipmentIds = new Set(
itineraryActivity.activity.ActivityEquipments.map((entry) => entry.id),
availableEquipments.map((entry) => entry.id),
);
if (isFoodOpted) {
@@ -2983,10 +2991,14 @@ export class ItineraryService {
);
}
if (selectedFoodTypeIds.some((id) => !availableFoodTypeIds.has(id))) {
const invalidFoodTypeIds = selectedFoodTypeIds.filter(
(id) => !availableFoodTypeIds.has(id),
);
if (invalidFoodTypeIds.length) {
throw new ApiError(
400,
`activities[${index}]: One or more selected food types do not belong to this activity.`,
`activities[${index}] with itineraryActivityXid=${item.itineraryActivityXid} has invalid selectedFoodTypeIds=${invalidFoodTypeIds.join(', ')}. Allowed food types for this activity are: ${availableFoodTypes.length ? availableFoodTypes.map((entry) => `${entry.id}:${entry.name}`).join(', ') : 'none'}.`,
);
}
} else if (selectedFoodTypeIds.length) {
@@ -3045,10 +3057,14 @@ export class ItineraryService {
);
}
if (selectedEquipmentIds.some((id) => !availableEquipmentIds.has(id))) {
const invalidEquipmentIds = selectedEquipmentIds.filter(
(id) => !availableEquipmentIds.has(id),
);
if (invalidEquipmentIds.length) {
throw new ApiError(
400,
`activities[${index}]: One or more selected equipments do not belong to this activity.`,
`activities[${index}] with itineraryActivityXid=${item.itineraryActivityXid} has invalid selectedEquipmentIds=${invalidEquipmentIds.join(', ')}. Allowed equipments for this activity are: ${availableEquipments.length ? availableEquipments.map((entry) => `${entry.id}:${entry.name}`).join(', ') : 'none'}.`,
);
}
}