Fix submission_items foreign keys

This commit is contained in:
gpt-engineer-app[bot]
2025-11-04 14:57:58 +00:00
parent 9d2c418649
commit 80aa033e70
10 changed files with 311 additions and 30 deletions

View File

@@ -59,10 +59,39 @@ export const SubmissionItemsList = memo(function SubmissionItemsList({
if (itemsError) throw itemsError;
// Fetch entity data for each item based on item_type
// Fetch entity data for each item based on item_type and typed FK columns
const transformedItems = await Promise.all(
(itemsData || []).map(async (item) => {
if (!item.item_data_id) {
// Determine which FK column to use based on item_type
let itemDataId: string | null = null;
switch (item.item_type) {
case 'park':
itemDataId = item.park_submission_id;
break;
case 'ride':
itemDataId = item.ride_submission_id;
break;
case 'photo':
case 'photo_edit':
case 'photo_delete':
itemDataId = item.photo_submission_id;
break;
case 'manufacturer':
case 'operator':
case 'designer':
case 'property_owner':
itemDataId = item.company_submission_id;
break;
case 'ride_model':
itemDataId = item.ride_model_submission_id;
break;
case 'milestone':
case 'timeline_event':
itemDataId = item.timeline_event_submission_id;
break;
}
if (!itemDataId) {
return { ...item, item_data: {}, entity_data: null };
}
@@ -75,7 +104,7 @@ export const SubmissionItemsList = memo(function SubmissionItemsList({
const { data } = await supabase
.from('park_submissions')
.select('*')
.eq('id', item.item_data_id)
.eq('id', itemDataId)
.maybeSingle();
entityData = data as any;
break;
@@ -84,7 +113,7 @@ export const SubmissionItemsList = memo(function SubmissionItemsList({
const { data } = await supabase
.from('ride_submissions')
.select('*')
.eq('id', item.item_data_id)
.eq('id', itemDataId)
.maybeSingle();
entityData = data as any;
break;
@@ -96,7 +125,7 @@ export const SubmissionItemsList = memo(function SubmissionItemsList({
const { data } = await supabase
.from('company_submissions')
.select('*')
.eq('id', item.item_data_id)
.eq('id', itemDataId)
.maybeSingle();
entityData = data as any;
break;
@@ -105,7 +134,7 @@ export const SubmissionItemsList = memo(function SubmissionItemsList({
const { data } = await supabase
.from('photo_submissions')
.select('*')
.eq('id', item.item_data_id)
.eq('id', itemDataId)
.maybeSingle();
entityData = data as any;
break;
@@ -114,7 +143,7 @@ export const SubmissionItemsList = memo(function SubmissionItemsList({
const { data } = await supabase
.from('ride_model_submissions')
.select('*')
.eq('id', item.item_data_id)
.eq('id', itemDataId)
.maybeSingle();
entityData = data as any;
break;