mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 10:11:13 -05:00
feat: Cascade moderation actions to submission items
This commit is contained in:
@@ -197,37 +197,88 @@ function resolveDependencies(data: any, dependencyMap: Map<string, string>): any
|
||||
}
|
||||
|
||||
async function createPark(supabase: any, data: any): Promise<string> {
|
||||
const { data: park, error } = await supabase
|
||||
.from('parks')
|
||||
.insert(data)
|
||||
.select('id')
|
||||
.single();
|
||||
// Check if this is an edit (has park_id) or a new creation
|
||||
if (data.park_id) {
|
||||
console.log(`Updating existing park ${data.park_id}`);
|
||||
const parkId = data.park_id;
|
||||
delete data.park_id; // Remove ID from update data
|
||||
|
||||
const { error } = await supabase
|
||||
.from('parks')
|
||||
.update(data)
|
||||
.eq('id', parkId);
|
||||
|
||||
if (error) throw new Error(`Failed to create park: ${error.message}`);
|
||||
return park.id;
|
||||
if (error) throw new Error(`Failed to update park: ${error.message}`);
|
||||
return parkId;
|
||||
} else {
|
||||
console.log('Creating new park');
|
||||
const { data: park, error } = await supabase
|
||||
.from('parks')
|
||||
.insert(data)
|
||||
.select('id')
|
||||
.single();
|
||||
|
||||
if (error) throw new Error(`Failed to create park: ${error.message}`);
|
||||
return park.id;
|
||||
}
|
||||
}
|
||||
|
||||
async function createRide(supabase: any, data: any): Promise<string> {
|
||||
const { data: ride, error } = await supabase
|
||||
.from('rides')
|
||||
.insert(data)
|
||||
.select('id')
|
||||
.single();
|
||||
// Check if this is an edit (has ride_id) or a new creation
|
||||
if (data.ride_id) {
|
||||
console.log(`Updating existing ride ${data.ride_id}`);
|
||||
const rideId = data.ride_id;
|
||||
delete data.ride_id; // Remove ID from update data
|
||||
|
||||
const { error } = await supabase
|
||||
.from('rides')
|
||||
.update(data)
|
||||
.eq('id', rideId);
|
||||
|
||||
if (error) throw new Error(`Failed to create ride: ${error.message}`);
|
||||
return ride.id;
|
||||
if (error) throw new Error(`Failed to update ride: ${error.message}`);
|
||||
return rideId;
|
||||
} else {
|
||||
console.log('Creating new ride');
|
||||
const { data: ride, error } = await supabase
|
||||
.from('rides')
|
||||
.insert(data)
|
||||
.select('id')
|
||||
.single();
|
||||
|
||||
if (error) throw new Error(`Failed to create ride: ${error.message}`);
|
||||
return ride.id;
|
||||
}
|
||||
}
|
||||
|
||||
async function createCompany(supabase: any, data: any, companyType: string): Promise<string> {
|
||||
const companyData = { ...data, company_type: companyType };
|
||||
const { data: company, error } = await supabase
|
||||
.from('companies')
|
||||
.insert(companyData)
|
||||
.select('id')
|
||||
.single();
|
||||
// Check if this is an edit (has company_id or id) or a new creation
|
||||
const companyId = data.company_id || data.id;
|
||||
|
||||
if (companyId) {
|
||||
console.log(`Updating existing company ${companyId}`);
|
||||
const updateData = { ...data, company_type: companyType };
|
||||
delete updateData.company_id;
|
||||
delete updateData.id; // Remove ID from update data
|
||||
|
||||
const { error } = await supabase
|
||||
.from('companies')
|
||||
.update(updateData)
|
||||
.eq('id', companyId);
|
||||
|
||||
if (error) throw new Error(`Failed to create company: ${error.message}`);
|
||||
return company.id;
|
||||
if (error) throw new Error(`Failed to update company: ${error.message}`);
|
||||
return companyId;
|
||||
} else {
|
||||
console.log('Creating new company');
|
||||
const companyData = { ...data, company_type: companyType };
|
||||
const { data: company, error } = await supabase
|
||||
.from('companies')
|
||||
.insert(companyData)
|
||||
.select('id')
|
||||
.single();
|
||||
|
||||
if (error) throw new Error(`Failed to create company: ${error.message}`);
|
||||
return company.id;
|
||||
}
|
||||
}
|
||||
|
||||
async function createRideModel(supabase: any, data: any): Promise<string> {
|
||||
|
||||
Reference in New Issue
Block a user