Refactor: Enforce submission queue for all edits

This commit is contained in:
gpt-engineer-app[bot]
2025-10-02 14:46:49 +00:00
parent 078026f641
commit 36603cdb80
3 changed files with 198 additions and 134 deletions

View File

@@ -175,60 +175,22 @@ export default function ParkDetail() {
if (!user || !park) return;
try {
if (isModerator()) {
// Moderators can update directly
const updateData: any = {
name: parkData.name,
slug: parkData.slug,
description: parkData.description || null,
park_type: parkData.park_type,
status: parkData.status,
opening_date: parkData.opening_date || null,
closing_date: parkData.closing_date || null,
website_url: parkData.website_url || null,
phone: parkData.phone || null,
email: parkData.email || null,
banner_image_url: parkData.banner_image_url || null,
banner_image_id: parkData.banner_image_id || null,
card_image_url: parkData.card_image_url || null,
card_image_id: parkData.card_image_id || null,
operator_id: parkData.operator_id || null,
property_owner_id: parkData.property_owner_id || null
};
// Everyone goes through submission queue
const { submitParkUpdate } = await import('@/lib/entitySubmissionHelpers');
await submitParkUpdate(park.id, parkData, user.id);
const { error } = await supabase
.from('parks')
.update({
...updateData,
updated_at: new Date().toISOString()
})
.eq('id', park.id);
toast({
title: "Edit Submitted",
description: isModerator()
? "Your edit has been submitted. You can approve it in the moderation queue."
: "Your park edit has been submitted for review.",
});
if (error) throw error;
toast({
title: "Park Updated",
description: "The park has been updated successfully.",
});
setIsEditParkModalOpen(false);
fetchParkData();
} else {
// Regular users submit for moderation
const { submitParkUpdate } = await import('@/lib/entitySubmissionHelpers');
await submitParkUpdate(park.id, parkData, user.id);
toast({
title: "Edit Submitted",
description: "Your park edit has been submitted for review.",
});
setIsEditParkModalOpen(false);
}
setIsEditParkModalOpen(false);
} catch (error: any) {
toast({
title: "Error",
description: error.message || "Failed to update park.",
description: error.message || "Failed to submit park edit.",
variant: "destructive"
});
}