Reverted to commit 9fcf1f5413

This commit is contained in:
gpt-engineer-app[bot]
2025-09-30 14:06:33 +00:00
parent dc3c210e40
commit 849cd25762
4 changed files with 1 additions and 336 deletions

View File

@@ -357,102 +357,6 @@ export async function resolveConflicts(
return { updatedItems, newConflicts };
}
/**
* Edit a submission item
* Moderators can edit directly, regular users trigger auto-escalation
*/
export async function editSubmissionItem(
itemId: string,
newData: any,
userId: string
): Promise<void> {
// Check user permissions
const { data: userRoles } = await supabase
.from('user_roles')
.select('role')
.eq('user_id', userId);
const isModerator = userRoles?.some(r =>
['moderator', 'admin', 'superuser'].includes(r.role)
);
// Get current item
const { data: currentItem, error: fetchError } = await supabase
.from('submission_items')
.select('*')
.eq('id', itemId)
.single();
if (fetchError || !currentItem) {
throw new Error('Failed to fetch submission item');
}
// Preserve original data if not already saved
const originalData = currentItem.original_data || currentItem.item_data;
if (isModerator) {
// Moderators can edit directly
const { error } = await supabase
.from('submission_items')
.update({
item_data: newData,
original_data: originalData,
updated_at: new Date().toISOString()
})
.eq('id', itemId);
if (error) {
console.error('Error updating submission item:', error);
throw new Error(`Failed to update item: ${error.message}`);
}
// Log the edit
await supabase
.from('admin_audit_log')
.insert({
admin_user_id: userId,
target_user_id: currentItem.submission_id,
action: 'edit_submission_item',
details: {
item_id: itemId,
item_type: currentItem.item_type,
changes: newData
}
});
} else {
// Regular users trigger auto-escalation
const { data: submission } = await supabase
.from('content_submissions')
.select('id, status')
.eq('id', currentItem.submission_id)
.single();
if (submission && submission.status !== 'escalated') {
await escalateSubmission(
currentItem.submission_id,
`User requested edit for ${currentItem.item_type} item`,
userId
);
}
// Update item with edit request
const { error } = await supabase
.from('submission_items')
.update({
item_data: newData,
original_data: originalData,
status: 'pending',
updated_at: new Date().toISOString()
})
.eq('id', itemId);
if (error) {
console.error('Error updating submission item:', error);
throw new Error(`Failed to update item: ${error.message}`);
}
}
}
/**
* Update individual submission item status
*/