Fix validation and RPC function

This commit is contained in:
gpt-engineer-app[bot]
2025-11-06 04:07:11 +00:00
parent f60b92c600
commit a6c687b367

View File

@@ -599,32 +599,42 @@ export async function validateEntityData(
// Use switch to avoid TypeScript type instantiation issues // Use switch to avoid TypeScript type instantiation issues
let originalSlug: string | null = null; let originalSlug: string | null = null;
switch (tableName) { try {
case 'parks': { switch (tableName) {
const { data } = await supabase.from('parks').select('slug').eq('id', entityId).single(); case 'parks': {
originalSlug = data?.slug || null; const { data } = await supabase.from('parks').select('slug').eq('id', entityId).single();
break; originalSlug = data?.slug || null;
break;
}
case 'rides': {
const { data } = await supabase.from('rides').select('slug').eq('id', entityId).single();
originalSlug = data?.slug || null;
break;
}
case 'companies': {
const { data } = await supabase.from('companies').select('slug').eq('id', entityId).single();
originalSlug = data?.slug || null;
break;
}
case 'ride_models': {
const { data } = await supabase.from('ride_models').select('slug').eq('id', entityId).single();
originalSlug = data?.slug || null;
break;
}
} }
case 'rides': {
const { data } = await supabase.from('rides').select('slug').eq('id', entityId).single(); // If slug hasn't changed, skip uniqueness check
originalSlug = data?.slug || null; if (originalSlug && originalSlug === validData.slug) {
break; shouldCheckUniqueness = false;
} }
case 'companies': { } catch (error) {
const { data } = await supabase.from('companies').select('slug').eq('id', entityId).single(); // Entity doesn't exist yet (CREATE action) - proceed with uniqueness check
originalSlug = data?.slug || null; // This is expected for new submissions where entityId is a submission_id
break; console.log('Entity not found in live table (likely a new submission)', {
} entityType,
case 'ride_models': { entityId,
const { data } = await supabase.from('ride_models').select('slug').eq('id', entityId).single(); tableName
originalSlug = data?.slug || null; });
break;
}
}
// If slug hasn't changed, skip uniqueness check
if (originalSlug && originalSlug === validData.slug) {
shouldCheckUniqueness = false;
} }
} }