mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-22 18:11:13 -05:00
Refactor photo modification logic
This commit is contained in:
@@ -120,6 +120,14 @@ serve(async (req) => {
|
||||
await approvePhotos(supabase, resolvedData, item.id);
|
||||
entityId = item.id; // Use item ID as entity ID for photos
|
||||
break;
|
||||
case 'photo_edit':
|
||||
await editPhoto(supabase, resolvedData);
|
||||
entityId = resolvedData.photo_id;
|
||||
break;
|
||||
case 'photo_delete':
|
||||
await deletePhoto(supabase, resolvedData);
|
||||
entityId = resolvedData.photo_id;
|
||||
break;
|
||||
default:
|
||||
throw new Error(`Unknown item type: ${item.item_type}`);
|
||||
}
|
||||
@@ -595,3 +603,25 @@ function extractImageId(url: string): string {
|
||||
const matches = url.match(/\/([^\/]+)\/public$/);
|
||||
return matches ? matches[1] : url;
|
||||
}
|
||||
|
||||
async function editPhoto(supabase: any, data: any): Promise<void> {
|
||||
console.log(`Editing photo ${data.photo_id}`);
|
||||
const { error } = await supabase
|
||||
.from('photos')
|
||||
.update({
|
||||
caption: data.new_caption,
|
||||
})
|
||||
.eq('id', data.photo_id);
|
||||
|
||||
if (error) throw new Error(`Failed to edit photo: ${error.message}`);
|
||||
}
|
||||
|
||||
async function deletePhoto(supabase: any, data: any): Promise<void> {
|
||||
console.log(`Deleting photo ${data.photo_id}`);
|
||||
const { error } = await supabase
|
||||
.from('photos')
|
||||
.delete()
|
||||
.eq('id', data.photo_id);
|
||||
|
||||
if (error) throw new Error(`Failed to delete photo: ${error.message}`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user