Fix TypeScript errors after JSONB removal

This commit is contained in:
gpt-engineer-app[bot]
2025-11-03 14:33:34 +00:00
parent c3f30b8417
commit 1a3c5ef671
5 changed files with 72 additions and 60 deletions

View File

@@ -132,10 +132,15 @@ export function useModerationActions(config: ModerationActionsConfig): Moderatio
if (submissionItems && submissionItems.length > 0) {
if (action === 'approved') {
// Fetch full item data for validation
// Fetch full item data for validation with relational joins
const { data: fullItems, error: itemError } = await supabase
.from('submission_items')
.select('id, item_type, item_data')
.select(`
id,
item_type,
park_submission:park_submissions!item_data_id(*),
ride_submission:ride_submissions!item_data_id(*)
`)
.eq('submission_id', item.id)
.in('status', ['pending', 'rejected']);
@@ -144,17 +149,31 @@ export function useModerationActions(config: ModerationActionsConfig): Moderatio
}
if (fullItems && fullItems.length > 0) {
// Run validation on all items
const validationResults = await validateMultipleItems(
fullItems.map(item => ({
// Transform to include item_data
const itemsWithData = fullItems.map(item => {
let itemData = {};
switch (item.item_type) {
case 'park':
itemData = item.park_submission || {};
break;
case 'ride':
itemData = item.ride_submission || {};
break;
default:
itemData = {};
}
return {
id: item.id,
item_type: item.item_type,
item_data: item.item_data,
id: item.id
}))
);
item_data: itemData
};
});
// Run validation on all items
const validationResults = await validateMultipleItems(itemsWithData);
// Check for blocking errors
const itemsWithBlockingErrors = fullItems.filter(item => {
const itemsWithBlockingErrors = itemsWithData.filter(item => {
const result = validationResults.get(item.id);
return result && result.blockingErrors.length > 0;
});
@@ -177,7 +196,7 @@ export function useModerationActions(config: ModerationActionsConfig): Moderatio
}
// Check for warnings (optional - can proceed but inform user)
const itemsWithWarnings = fullItems.filter(item => {
const itemsWithWarnings = itemsWithData.filter(item => {
const result = validationResults.get(item.id);
return result && result.warnings.length > 0;
});