mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 14:31:13 -05:00
Fix TypeScript errors after JSONB removal
This commit is contained in:
@@ -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;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user