Fix milestone entity name resolution

This commit is contained in:
gpt-engineer-app[bot]
2025-10-15 20:09:48 +00:00
parent ae14238b45
commit ae255bd73c

View File

@@ -369,6 +369,49 @@ export async function detectChanges(
has_cloudflare_url: !!itemData.cloudflare_image_url
});
}
} else if (item.item_type === 'milestone') {
// Milestone submissions reference entity_id and entity_type
// Need to fetch the entity name from the database
if (itemData.entity_type && itemData.entity_id) {
try {
const entityType = itemData.entity_type;
const entityId = itemData.entity_id;
if (entityType === 'park') {
const { data } = await supabase.from('parks').select('name').eq('id', entityId).maybeSingle();
if (data?.name) {
entityName = `${data.name} - ${itemData.title || 'Milestone'}`;
}
} else if (entityType === 'ride') {
const { data: rideData } = await supabase
.from('rides')
.select('name, park:parks(name)')
.eq('id', entityId)
.maybeSingle();
if (rideData?.name) {
const parkName = rideData.park?.name;
entityName = parkName
? `${rideData.name} at ${parkName} - ${itemData.title || 'Milestone'}`
: `${rideData.name} - ${itemData.title || 'Milestone'}`;
}
}
// If lookup failed, fall back to title with entity type
if (entityName === 'Unknown' && itemData.title) {
entityName = `${formatEntityType(entityType)} - ${itemData.title}`;
}
} catch (err) {
console.error('Error fetching entity name for milestone:', err);
// Fall back to just the title if database lookup fails
if (itemData.title) {
entityName = itemData.title;
}
}
} else if (itemData.title) {
// No entity reference, just use the milestone title
entityName = itemData.title;
}
} else {
// For regular entities, use name field
entityName = itemData.name || originalData?.name || 'Unknown';