mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 10:31:12 -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
|
// 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();
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// If slug hasn't changed, skip uniqueness check
|
// If slug hasn't changed, skip uniqueness check
|
||||||
if (originalSlug && originalSlug === validData.slug) {
|
if (originalSlug && originalSlug === validData.slug) {
|
||||||
shouldCheckUniqueness = false;
|
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