From a51f37bf8abb1418b3afc022caf581067b8876c4 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Wed, 5 Nov 2025 02:25:27 +0000 Subject: [PATCH] Fix submission process issues --- src/lib/entitySubmissionHelpers.ts | 47 +++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/src/lib/entitySubmissionHelpers.ts b/src/lib/entitySubmissionHelpers.ts index 8f336e41..5760dbf3 100644 --- a/src/lib/entitySubmissionHelpers.ts +++ b/src/lib/entitySubmissionHelpers.ts @@ -779,8 +779,13 @@ export async function submitRideCreation( if (submissionError) throw submissionError; - // Extract images for assignment - const changedFields = extractChangedFields(data, {}); + // ✅ FIXED: Get image URLs/IDs from processed images using assignments + const uploadedImages = processedImages?.uploaded || []; + const bannerIndex = processedImages?.banner_assignment; + const cardIndex = processedImages?.card_assignment; + + const bannerImage = (bannerIndex !== null && bannerIndex !== undefined) ? uploadedImages[bannerIndex] : null; + const cardImage = (cardIndex !== null && cardIndex !== undefined) ? uploadedImages[cardIndex] : null; // Insert into relational ride_submissions table const { data: rideSubmission, error: rideSubmissionError } = await supabase @@ -812,10 +817,10 @@ export async function submitRideCreation( coaster_type: data.coaster_type || null, seating_type: data.seating_type || null, intensity_level: data.intensity_level || null, - banner_image_url: changedFields.banner_image_url as string || null, - banner_image_id: changedFields.banner_image_id as string || null, - card_image_url: changedFields.card_image_url as string || null, - card_image_id: changedFields.card_image_id as string || null, + banner_image_url: bannerImage?.url || data.banner_image_url || null, + banner_image_id: bannerImage?.cloudflare_id || data.banner_image_id || null, + card_image_url: cardImage?.url || data.card_image_url || null, + card_image_id: cardImage?.cloudflare_id || data.card_image_id || null, image_url: null } as any) .select('id') @@ -1006,7 +1011,11 @@ export async function submitRideModelCreation( item_type: 'ride_model', action_type: 'create', item_data: { - ...extractChangedFields(data, {}), + // ✅ FIXED: Don't use extractChangedFields for CREATE - include ALL data + ...(() => { + const { images, ...dataWithoutImages } = data; + return dataWithoutImages; + })(), images: processedImages as unknown as Json }, status: 'pending' as const, @@ -1138,7 +1147,11 @@ export async function submitManufacturerCreation( item_type: 'manufacturer', action_type: 'create', item_data: { - ...extractChangedFields(data, {}), + // ✅ FIXED: Don't use extractChangedFields for CREATE - include ALL data + ...(() => { + const { images, ...dataWithoutImages } = data; + return dataWithoutImages; + })(), company_type: 'manufacturer', images: processedImages as unknown as Json }, @@ -1244,7 +1257,11 @@ export async function submitDesignerCreation( item_type: 'designer', action_type: 'create', item_data: { - ...extractChangedFields(data, {}), + // ✅ FIXED: Don't use extractChangedFields for CREATE - include ALL data + ...(() => { + const { images, ...dataWithoutImages } = data; + return dataWithoutImages; + })(), company_type: 'designer', images: processedImages as unknown as Json }, @@ -1350,7 +1367,11 @@ export async function submitOperatorCreation( item_type: 'operator', action_type: 'create', item_data: { - ...extractChangedFields(data, {}), + // ✅ FIXED: Don't use extractChangedFields for CREATE - include ALL data + ...(() => { + const { images, ...dataWithoutImages } = data; + return dataWithoutImages; + })(), company_type: 'operator', images: processedImages as unknown as Json }, @@ -1456,7 +1477,11 @@ export async function submitPropertyOwnerCreation( item_type: 'property_owner', action_type: 'create', item_data: { - ...extractChangedFields(data, {}), + // ✅ FIXED: Don't use extractChangedFields for CREATE - include ALL data + ...(() => { + const { images, ...dataWithoutImages } = data; + return dataWithoutImages; + })(), company_type: 'property_owner', images: processedImages as unknown as Json },