mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-22 22:31:13 -05:00
Fix: Normalize status in edge function
This commit is contained in:
@@ -250,6 +250,30 @@ function filterDatabaseFields(data: any, allowedFields: string[]): any {
|
|||||||
return filtered;
|
return filtered;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function normalizeStatusValue(data: any): any {
|
||||||
|
if (data.status) {
|
||||||
|
// Map display values to database values
|
||||||
|
const statusMap: Record<string, string> = {
|
||||||
|
'Operating': 'operating',
|
||||||
|
'Seasonal': 'operating',
|
||||||
|
'Closed Temporarily': 'maintenance',
|
||||||
|
'Closed Permanently': 'closed',
|
||||||
|
'Under Construction': 'under_construction',
|
||||||
|
'Planned': 'under_construction',
|
||||||
|
'SBNO': 'sbno',
|
||||||
|
// Also handle already-lowercase values
|
||||||
|
'operating': 'operating',
|
||||||
|
'closed': 'closed',
|
||||||
|
'under_construction': 'under_construction',
|
||||||
|
'maintenance': 'maintenance',
|
||||||
|
'sbno': 'sbno'
|
||||||
|
};
|
||||||
|
|
||||||
|
data.status = statusMap[data.status] || 'operating';
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
async function createPark(supabase: any, data: any): Promise<string> {
|
async function createPark(supabase: any, data: any): Promise<string> {
|
||||||
// Transform images object if present
|
// Transform images object if present
|
||||||
if (data.images) {
|
if (data.images) {
|
||||||
@@ -279,7 +303,8 @@ async function createPark(supabase: any, data: any): Promise<string> {
|
|||||||
const parkId = data.park_id;
|
const parkId = data.park_id;
|
||||||
delete data.park_id; // Remove ID from update data
|
delete data.park_id; // Remove ID from update data
|
||||||
|
|
||||||
const sanitizedData = sanitizeDateFields(data);
|
const normalizedData = normalizeStatusValue(data);
|
||||||
|
const sanitizedData = sanitizeDateFields(normalizedData);
|
||||||
const filteredData = filterDatabaseFields(sanitizedData, PARK_FIELDS);
|
const filteredData = filterDatabaseFields(sanitizedData, PARK_FIELDS);
|
||||||
const { error } = await supabase
|
const { error } = await supabase
|
||||||
.from('parks')
|
.from('parks')
|
||||||
@@ -290,7 +315,8 @@ async function createPark(supabase: any, data: any): Promise<string> {
|
|||||||
return parkId;
|
return parkId;
|
||||||
} else {
|
} else {
|
||||||
console.log('Creating new park');
|
console.log('Creating new park');
|
||||||
const sanitizedData = sanitizeDateFields(data);
|
const normalizedData = normalizeStatusValue(data);
|
||||||
|
const sanitizedData = sanitizeDateFields(normalizedData);
|
||||||
const filteredData = filterDatabaseFields(sanitizedData, PARK_FIELDS);
|
const filteredData = filterDatabaseFields(sanitizedData, PARK_FIELDS);
|
||||||
const { data: park, error } = await supabase
|
const { data: park, error } = await supabase
|
||||||
.from('parks')
|
.from('parks')
|
||||||
@@ -332,7 +358,8 @@ async function createRide(supabase: any, data: any): Promise<string> {
|
|||||||
const rideId = data.ride_id;
|
const rideId = data.ride_id;
|
||||||
delete data.ride_id; // Remove ID from update data
|
delete data.ride_id; // Remove ID from update data
|
||||||
|
|
||||||
const sanitizedData = sanitizeDateFields(data);
|
const normalizedData = normalizeStatusValue(data);
|
||||||
|
const sanitizedData = sanitizeDateFields(normalizedData);
|
||||||
const filteredData = filterDatabaseFields(sanitizedData, RIDE_FIELDS);
|
const filteredData = filterDatabaseFields(sanitizedData, RIDE_FIELDS);
|
||||||
const { error } = await supabase
|
const { error } = await supabase
|
||||||
.from('rides')
|
.from('rides')
|
||||||
@@ -356,7 +383,8 @@ async function createRide(supabase: any, data: any): Promise<string> {
|
|||||||
return rideId;
|
return rideId;
|
||||||
} else {
|
} else {
|
||||||
console.log('Creating new ride');
|
console.log('Creating new ride');
|
||||||
const sanitizedData = sanitizeDateFields(data);
|
const normalizedData = normalizeStatusValue(data);
|
||||||
|
const sanitizedData = sanitizeDateFields(normalizedData);
|
||||||
const filteredData = filterDatabaseFields(sanitizedData, RIDE_FIELDS);
|
const filteredData = filterDatabaseFields(sanitizedData, RIDE_FIELDS);
|
||||||
const { data: ride, error } = await supabase
|
const { data: ride, error } = await supabase
|
||||||
.from('rides')
|
.from('rides')
|
||||||
|
|||||||
Reference in New Issue
Block a user