mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 04:51:13 -05:00
Fix validation and RPC function
This commit is contained in:
@@ -599,32 +599,42 @@ export async function validateEntityData(
|
||||
|
||||
// Use switch to avoid TypeScript type instantiation issues
|
||||
let originalSlug: string | null = null;
|
||||
switch (tableName) {
|
||||
case 'parks': {
|
||||
const { data } = await supabase.from('parks').select('slug').eq('id', entityId).single();
|
||||
originalSlug = data?.slug || null;
|
||||
break;
|
||||
try {
|
||||
switch (tableName) {
|
||||
case 'parks': {
|
||||
const { data } = await supabase.from('parks').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();
|
||||
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();
|
||||
originalSlug = data?.slug || null;
|
||||
break;
|
||||
|
||||
// If slug hasn't changed, skip uniqueness check
|
||||
if (originalSlug && originalSlug === validData.slug) {
|
||||
shouldCheckUniqueness = false;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// If slug hasn't changed, skip uniqueness check
|
||||
if (originalSlug && originalSlug === validData.slug) {
|
||||
shouldCheckUniqueness = false;
|
||||
} catch (error) {
|
||||
// Entity doesn't exist yet (CREATE action) - proceed with uniqueness check
|
||||
// This is expected for new submissions where entityId is a submission_id
|
||||
console.log('Entity not found in live table (likely a new submission)', {
|
||||
entityType,
|
||||
entityId,
|
||||
tableName
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user