feat: Complete Ride Model Image Support

This commit is contained in:
gpt-engineer-app[bot]
2025-10-30 14:19:30 +00:00
parent cc58267c93
commit c0e59c2758
2 changed files with 47 additions and 4 deletions

View File

@@ -667,10 +667,43 @@ async function createRideModel(data: any, dependencyMap: Map<string, string>): P
const { transformRideModelData, validateSubmissionData } = await import('./entityTransformers');
const { ensureUniqueSlug } = await import('./slugUtils');
// Validate input data
validateSubmissionData(data, 'Ride Model');
// Check if this is an edit (has ride_model_id)
const isEdit = !!data.ride_model_id;
// Resolve dependencies
if (isEdit) {
// Handle ride model edit
const resolvedData = resolveDependencies(data, dependencyMap);
// Extract image assignments from ImageAssignments structure
const imageData = extractImageAssignments(resolvedData.images);
// Update the ride model
const updateData: any = {
name: resolvedData.name,
slug: resolvedData.slug,
category: resolvedData.category,
ride_type: resolvedData.ride_type || null,
description: resolvedData.description || null,
manufacturer_id: resolvedData.manufacturer_id,
...imageData,
updated_at: new Date().toISOString()
};
const { error } = await supabase
.from('ride_models')
.update(updateData)
.eq('id', data.ride_model_id);
if (error) {
console.error('Error updating ride model:', error);
throw new Error(`Database error: ${error.message}`);
}
return data.ride_model_id;
}
// Handle ride model creation
validateSubmissionData(data, 'Ride Model');
const resolvedData = resolveDependencies(data, dependencyMap);
// Validate manufacturer_id is present (required for ride models)
@@ -682,8 +715,14 @@ async function createRideModel(data: any, dependencyMap: Map<string, string>): P
const uniqueSlug = await ensureUniqueSlug(resolvedData.slug, 'ride_models');
resolvedData.slug = uniqueSlug;
// Extract image assignments
const imageData = extractImageAssignments(resolvedData.images);
// Transform to database format
const modelData = transformRideModelData(resolvedData);
const modelData = {
...transformRideModelData(resolvedData),
...imageData
};
// Insert into database
const { data: model, error } = await supabase