mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 06:31:13 -05:00
Fix: Save submission edits to relational tables
This commit is contained in:
@@ -1309,6 +1309,88 @@ export async function editSubmissionItem(
|
||||
|
||||
if (updateError) throw updateError;
|
||||
|
||||
// Update relational table with new data based on item type
|
||||
if (currentItem.item_type === 'park') {
|
||||
// For parks, store location in temp_location_data if provided
|
||||
const updateData: any = { ...newData };
|
||||
|
||||
// If location object is provided, store it in temp_location_data
|
||||
if (newData.location) {
|
||||
updateData.temp_location_data = {
|
||||
name: newData.location.name,
|
||||
city: newData.location.city || null,
|
||||
state_province: newData.location.state_province || null,
|
||||
country: newData.location.country,
|
||||
latitude: newData.location.latitude,
|
||||
longitude: newData.location.longitude,
|
||||
timezone: newData.location.timezone || null,
|
||||
postal_code: newData.location.postal_code || null,
|
||||
display_name: newData.location.display_name
|
||||
};
|
||||
delete updateData.location; // Remove the nested object
|
||||
}
|
||||
|
||||
// Update park_submissions table
|
||||
const { error: parkUpdateError } = await supabase
|
||||
.from('park_submissions')
|
||||
.update(updateData)
|
||||
.eq('submission_id', currentItem.submission_id);
|
||||
|
||||
if (parkUpdateError) throw parkUpdateError;
|
||||
|
||||
} else if (currentItem.item_type === 'ride') {
|
||||
const { error: rideUpdateError } = await supabase
|
||||
.from('ride_submissions')
|
||||
.update(newData)
|
||||
.eq('submission_id', currentItem.submission_id);
|
||||
|
||||
if (rideUpdateError) throw rideUpdateError;
|
||||
|
||||
} else if (currentItem.item_type === 'manufacturer') {
|
||||
const { error: manufacturerUpdateError } = await supabase
|
||||
.from('company_submissions')
|
||||
.update(newData)
|
||||
.eq('submission_id', currentItem.submission_id)
|
||||
.eq('company_type', 'manufacturer');
|
||||
|
||||
if (manufacturerUpdateError) throw manufacturerUpdateError;
|
||||
|
||||
} else if (currentItem.item_type === 'designer') {
|
||||
const { error: designerUpdateError } = await supabase
|
||||
.from('company_submissions')
|
||||
.update(newData)
|
||||
.eq('submission_id', currentItem.submission_id)
|
||||
.eq('company_type', 'designer');
|
||||
|
||||
if (designerUpdateError) throw designerUpdateError;
|
||||
|
||||
} else if (currentItem.item_type === 'operator') {
|
||||
const { error: operatorUpdateError } = await supabase
|
||||
.from('company_submissions')
|
||||
.update(newData)
|
||||
.eq('submission_id', currentItem.submission_id)
|
||||
.eq('company_type', 'operator');
|
||||
|
||||
if (operatorUpdateError) throw operatorUpdateError;
|
||||
|
||||
} else if (currentItem.item_type === 'property_owner') {
|
||||
const { error: ownerUpdateError } = await supabase
|
||||
.from('company_submissions')
|
||||
.update(newData)
|
||||
.eq('submission_id', currentItem.submission_id)
|
||||
.eq('company_type', 'property_owner');
|
||||
|
||||
if (ownerUpdateError) throw ownerUpdateError;
|
||||
|
||||
} else if (currentItem.item_type === 'ride_model') {
|
||||
const { error: modelUpdateError } = await supabase
|
||||
.from('ride_model_submissions')
|
||||
.update(newData)
|
||||
.eq('submission_id', currentItem.submission_id);
|
||||
|
||||
if (modelUpdateError) throw modelUpdateError;
|
||||
}
|
||||
|
||||
// Phase 4: Record edit history
|
||||
const { data: historyData, error: historyError } = await supabase
|
||||
.from('item_edit_history')
|
||||
|
||||
Reference in New Issue
Block a user