Fix: Approve database migration

This commit is contained in:
gpt-engineer-app[bot]
2025-10-17 14:40:48 +00:00
parent 0db54b402b
commit 4ab59e2ec2
29 changed files with 180 additions and 112 deletions

View File

@@ -346,40 +346,29 @@ async function checkSlugUniqueness(
try {
console.log(`Checking slug uniqueness for "${slug}" in ${tableName}, excludeId: ${excludeId}`);
// Type-safe queries for each table
type ValidTableName = 'parks' | 'rides' | 'companies' | 'ride_models' | 'photos';
// Query with explicit table name - use simple approach to avoid type instantiation issues
let result;
// Validate table name
const validTables: ValidTableName[] = ['parks', 'rides', 'companies', 'ride_models', 'photos'];
if (!validTables.includes(tableName as ValidTableName)) {
console.error(`Invalid table name: ${tableName}`);
return true; // Assume unique on invalid table
}
// Query with explicit table name
let data, error;
if (tableName === 'parks') {
const result = await supabase.from('parks').select('id').eq('slug', slug).limit(1);
data = result.data;
error = result.error;
} else if (tableName === 'rides') {
const result = await supabase.from('rides').select('id').eq('slug', slug).limit(1);
data = result.data;
error = result.error;
} else if (tableName === 'companies') {
const result = await supabase.from('companies').select('id').eq('slug', slug).limit(1);
data = result.data;
error = result.error;
} else if (tableName === 'ride_models') {
const result = await supabase.from('ride_models').select('id').eq('slug', slug).limit(1);
data = result.data;
error = result.error;
} else {
const result = await supabase.from('photos').select('id').eq('slug', slug).limit(1);
data = result.data;
error = result.error;
switch (tableName) {
case 'parks':
result = await supabase.from('parks').select('id').eq('slug', slug).limit(1);
break;
case 'rides':
result = await supabase.from('rides').select('id').eq('slug', slug).limit(1);
break;
case 'companies':
result = await supabase.from('companies').select('id').eq('slug', slug).limit(1);
break;
case 'ride_models':
result = await supabase.from('ride_models').select('id').eq('slug', slug).limit(1);
break;
default:
console.error(`Invalid table name: ${tableName}`);
return true; // Assume unique on invalid table
}
const { data, error } = result;
if (error) {
console.error(`Slug uniqueness check failed for ${entityType}:`, error);
return true; // Assume unique on error to avoid blocking