mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 13:51:13 -05:00
Implement Phase 3C error logging
This commit is contained in:
@@ -6,7 +6,7 @@ import type { ProcessedImage } from './supabaseHelpers';
|
||||
import { extractChangedFields } from './submissionChangeDetection';
|
||||
import type { CompanyDatabaseRecord, TimelineEventDatabaseRecord } from '@/types/company-data';
|
||||
import { logger } from './logger';
|
||||
import { getErrorMessage } from './errorHandler';
|
||||
import { handleError } from './errorHandler';
|
||||
import type { TimelineEventFormData, EntityType } from '@/types/timeline';
|
||||
|
||||
// ============================================
|
||||
@@ -345,13 +345,11 @@ async function submitCompositeCreation(
|
||||
});
|
||||
|
||||
if (error) {
|
||||
logger.error('Composite submission failed', {
|
||||
action: 'composite_submission',
|
||||
primaryType: uploadedPrimary.type,
|
||||
dependencyCount: dependencies.length,
|
||||
error: getErrorMessage(error)
|
||||
handleError(error, {
|
||||
action: 'Composite submission',
|
||||
metadata: { primaryType: uploadedPrimary.type, dependencyCount: dependencies.length },
|
||||
});
|
||||
throw new Error(`Failed to create composite submission: ${getErrorMessage(error)}`);
|
||||
throw new Error(`Failed to create composite submission: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
||||
}
|
||||
|
||||
return { submitted: true, submissionId: result };
|
||||
@@ -440,12 +438,10 @@ export async function submitParkCreation(
|
||||
uploaded: uploadedImages
|
||||
};
|
||||
} catch (error: unknown) {
|
||||
const errorMessage = getErrorMessage(error);
|
||||
logger.error('Park image upload failed', {
|
||||
action: 'park_creation',
|
||||
error: errorMessage
|
||||
handleError(error, {
|
||||
action: 'Upload park images',
|
||||
});
|
||||
throw new Error(`Failed to upload images: ${errorMessage}`);
|
||||
throw new Error(`Failed to upload images: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -751,12 +747,10 @@ export async function submitRideCreation(
|
||||
uploaded: uploadedImages
|
||||
};
|
||||
} catch (error: unknown) {
|
||||
const errorMessage = getErrorMessage(error);
|
||||
logger.error('Ride image upload failed', {
|
||||
action: 'ride_creation',
|
||||
error: errorMessage
|
||||
handleError(error, {
|
||||
action: 'Upload ride images',
|
||||
});
|
||||
throw new Error(`Failed to upload images: ${errorMessage}`);
|
||||
throw new Error(`Failed to upload images: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -972,12 +966,10 @@ export async function submitRideModelCreation(
|
||||
uploaded: uploadedImages
|
||||
};
|
||||
} catch (error: unknown) {
|
||||
const errorMessage = getErrorMessage(error);
|
||||
logger.error('Ride model image upload failed', {
|
||||
action: 'ride_model_creation',
|
||||
error: errorMessage
|
||||
handleError(error, {
|
||||
action: 'Upload ride model images',
|
||||
});
|
||||
throw new Error(`Failed to upload images: ${errorMessage}`);
|
||||
throw new Error(`Failed to upload images: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1110,12 +1102,10 @@ export async function submitManufacturerCreation(
|
||||
const uploadedImages = await uploadPendingImages(data.images.uploaded);
|
||||
processedImages = { ...data.images, uploaded: uploadedImages };
|
||||
} catch (error: unknown) {
|
||||
const errorMessage = getErrorMessage(error);
|
||||
logger.error('Company image upload failed', {
|
||||
action: 'manufacturer_creation',
|
||||
error: errorMessage
|
||||
handleError(error, {
|
||||
action: 'Upload manufacturer images',
|
||||
});
|
||||
throw new Error(`Failed to upload images: ${errorMessage}`);
|
||||
throw new Error(`Failed to upload images: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1218,12 +1208,10 @@ export async function submitDesignerCreation(
|
||||
const uploadedImages = await uploadPendingImages(data.images.uploaded);
|
||||
processedImages = { ...data.images, uploaded: uploadedImages };
|
||||
} catch (error: unknown) {
|
||||
const errorMessage = getErrorMessage(error);
|
||||
logger.error('Company image upload failed', {
|
||||
action: 'designer_creation',
|
||||
error: errorMessage
|
||||
handleError(error, {
|
||||
action: 'Upload designer images',
|
||||
});
|
||||
throw new Error(`Failed to upload images: ${errorMessage}`);
|
||||
throw new Error(`Failed to upload images: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1326,12 +1314,10 @@ export async function submitOperatorCreation(
|
||||
const uploadedImages = await uploadPendingImages(data.images.uploaded);
|
||||
processedImages = { ...data.images, uploaded: uploadedImages };
|
||||
} catch (error: unknown) {
|
||||
const errorMessage = getErrorMessage(error);
|
||||
logger.error('Company image upload failed', {
|
||||
action: 'operator_creation',
|
||||
error: errorMessage
|
||||
handleError(error, {
|
||||
action: 'Upload operator images',
|
||||
});
|
||||
throw new Error(`Failed to upload images: ${errorMessage}`);
|
||||
throw new Error(`Failed to upload images: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1434,12 +1420,10 @@ export async function submitPropertyOwnerCreation(
|
||||
const uploadedImages = await uploadPendingImages(data.images.uploaded);
|
||||
processedImages = { ...data.images, uploaded: uploadedImages };
|
||||
} catch (error: unknown) {
|
||||
const errorMessage = getErrorMessage(error);
|
||||
logger.error('Company image upload failed', {
|
||||
action: 'property_owner_creation',
|
||||
error: errorMessage
|
||||
handleError(error, {
|
||||
action: 'Upload property owner images',
|
||||
});
|
||||
throw new Error(`Failed to upload images: ${errorMessage}`);
|
||||
throw new Error(`Failed to upload images: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1602,11 +1586,9 @@ export async function submitTimelineEvent(
|
||||
});
|
||||
|
||||
if (error || !submissionId) {
|
||||
const errorMessage = getErrorMessage(error);
|
||||
logger.error('Timeline event submission failed', {
|
||||
action: 'create_timeline_event',
|
||||
handleError(error || new Error('No submission ID returned'), {
|
||||
action: 'Submit timeline event',
|
||||
userId,
|
||||
error: errorMessage
|
||||
});
|
||||
throw new Error('Failed to submit timeline event for review');
|
||||
}
|
||||
@@ -1679,11 +1661,9 @@ export async function submitTimelineEventUpdate(
|
||||
);
|
||||
|
||||
if (rpcError || !result) {
|
||||
const errorMessage = getErrorMessage(rpcError);
|
||||
logger.error('Timeline event update failed', {
|
||||
action: 'update_timeline_event',
|
||||
eventId,
|
||||
error: errorMessage
|
||||
handleError(rpcError || new Error('No result returned'), {
|
||||
action: 'Update timeline event',
|
||||
metadata: { eventId },
|
||||
});
|
||||
throw new Error('Failed to submit timeline event update');
|
||||
}
|
||||
@@ -1707,11 +1687,9 @@ export async function deleteTimelineEvent(
|
||||
.single();
|
||||
|
||||
if (fetchError) {
|
||||
const errorMessage = getErrorMessage(fetchError);
|
||||
logger.error('Timeline event fetch failed', {
|
||||
action: 'delete_timeline_event',
|
||||
eventId,
|
||||
error: errorMessage
|
||||
handleError(fetchError, {
|
||||
action: 'Delete timeline event',
|
||||
metadata: { eventId },
|
||||
});
|
||||
throw new Error('Timeline event not found');
|
||||
}
|
||||
@@ -1736,11 +1714,9 @@ export async function deleteTimelineEvent(
|
||||
.eq('id', eventId);
|
||||
|
||||
if (deleteError) {
|
||||
const errorMessage = getErrorMessage(deleteError);
|
||||
logger.error('Timeline event deletion failed', {
|
||||
action: 'delete_timeline_event',
|
||||
eventId,
|
||||
error: errorMessage
|
||||
handleError(deleteError, {
|
||||
action: 'Delete timeline event',
|
||||
metadata: { eventId },
|
||||
});
|
||||
throw new Error('Failed to delete timeline event');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user