From 07420a67bfcd38014844c42c1e7dfeec673c182d Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 3 Nov 2025 02:41:01 +0000 Subject: [PATCH] Fix: Handle internal errors --- src/lib/entitySubmissionHelpers.ts | 14 +++++++------- src/lib/entityTransformers.ts | 2 +- src/lib/notificationService.ts | 7 ++++++- src/lib/photoHelpers.ts | 6 +++--- src/lib/requestTracking.ts | 12 ++++++------ src/lib/submissionItemsService.ts | 2 +- 6 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/lib/entitySubmissionHelpers.ts b/src/lib/entitySubmissionHelpers.ts index 026a6ddb..e2a104d1 100644 --- a/src/lib/entitySubmissionHelpers.ts +++ b/src/lib/entitySubmissionHelpers.ts @@ -565,7 +565,7 @@ export async function submitParkUpdate( item_type: 'park', action_type: 'edit', item_data: JSON.parse(JSON.stringify({ - ...extractChangedFields(data, existingPark), + ...extractChangedFields(data, existingPark as any), park_id: parkId, // Always include for relational integrity images: processedImages })) as Json, @@ -848,7 +848,7 @@ export async function submitRideUpdate( item_type: 'ride', action_type: 'edit', item_data: { - ...extractChangedFields(data, existingRide), + ...extractChangedFields(data, existingRide as any), ride_id: rideId, // Always include for relational integrity images: processedImages as unknown as Json }, @@ -1012,7 +1012,7 @@ export async function submitRideModelUpdate( item_type: 'ride_model', action_type: 'edit', item_data: { - ...extractChangedFields(data, existingModel), + ...extractChangedFields(data, existingModel as any), ride_model_id: rideModelId, // Always include for relational integrity images: processedImages as unknown as Json }, @@ -1124,7 +1124,7 @@ export async function submitManufacturerUpdate( item_type: 'manufacturer', action_type: 'edit', item_data: { - ...extractChangedFields(data, existingCompany as Partial), + ...extractChangedFields(data, existingCompany as any), company_id: companyId, // Always include for relational integrity company_type: 'manufacturer', // Always include for entity type discrimination images: processedImages as unknown as Json @@ -1232,7 +1232,7 @@ export async function submitDesignerUpdate( item_type: 'designer', action_type: 'edit', item_data: { - ...extractChangedFields(data, existingCompany as Partial), + ...extractChangedFields(data, existingCompany as any), company_id: companyId, // Always include for relational integrity company_type: 'designer', // Always include for entity type discrimination images: processedImages as unknown as Json @@ -1340,7 +1340,7 @@ export async function submitOperatorUpdate( item_type: 'operator', action_type: 'edit', item_data: { - ...extractChangedFields(data, existingCompany as Partial), + ...extractChangedFields(data, existingCompany as any), company_id: companyId, // Always include for relational integrity company_type: 'operator', // Always include for entity type discrimination images: processedImages as unknown as Json @@ -1448,7 +1448,7 @@ export async function submitPropertyOwnerUpdate( item_type: 'property_owner', action_type: 'edit', item_data: { - ...extractChangedFields(data, existingCompany as Partial), + ...extractChangedFields(data, existingCompany as any), company_id: companyId, // Always include for relational integrity company_type: 'property_owner', // Always include for entity type discrimination images: processedImages as unknown as Json diff --git a/src/lib/entityTransformers.ts b/src/lib/entityTransformers.ts index e7d922b6..257c8843 100644 --- a/src/lib/entityTransformers.ts +++ b/src/lib/entityTransformers.ts @@ -164,7 +164,7 @@ export function transformRideModelData(submissionData: RideModelSubmissionData): slug: submissionData.slug, manufacturer_id: submissionData.manufacturer_id, category: submissionData.category, - ride_type: submissionData.ride_type || null, + ride_type: (submissionData.ride_type || null) as string, description: submissionData.description || null, banner_image_url: submissionData.banner_image_url || null, banner_image_id: submissionData.banner_image_id || null, diff --git a/src/lib/notificationService.ts b/src/lib/notificationService.ts index 29e0095e..ef27107e 100644 --- a/src/lib/notificationService.ts +++ b/src/lib/notificationService.ts @@ -344,7 +344,12 @@ class NotificationService { throw error; } - return data || []; + return (data || []).map(t => ({ + ...t, + is_active: t.is_active ?? true, + description: t.description || undefined, + novu_workflow_id: t.novu_workflow_id || undefined + })); } catch (error: unknown) { logger.error('Error fetching notification templates', { action: 'fetch_notification_templates', diff --git a/src/lib/photoHelpers.ts b/src/lib/photoHelpers.ts index e0969192..54c8604e 100644 --- a/src/lib/photoHelpers.ts +++ b/src/lib/photoHelpers.ts @@ -96,9 +96,9 @@ export function normalizePhotoSubmissionItems( id: item.id, url: item.cloudflare_image_url, filename: item.filename || `Photo ${item.order_index + 1}`, - caption: item.caption, - title: item.title, - date_taken: item.date_taken, + caption: item.caption || undefined, + title: item.title || undefined, + date_taken: item.date_taken || undefined, order_index: item.order_index, })); } diff --git a/src/lib/requestTracking.ts b/src/lib/requestTracking.ts index 6dc25f15..7f277933 100644 --- a/src/lib/requestTracking.ts +++ b/src/lib/requestTracking.ts @@ -115,12 +115,12 @@ async function logRequestMetadata(metadata: RequestMetadata): Promise { p_method: metadata.method, p_status_code: metadata.statusCode, p_duration_ms: metadata.duration, - p_error_type: metadata.errorType || null, - p_error_message: metadata.errorMessage || null, - p_user_agent: metadata.userAgent || null, - p_client_version: metadata.clientVersion || null, - p_parent_request_id: metadata.parentRequestId || null, - p_trace_id: metadata.traceId || null, + p_error_type: metadata.errorType ?? undefined, + p_error_message: metadata.errorMessage ?? undefined, + p_user_agent: metadata.userAgent ?? undefined, + p_client_version: metadata.clientVersion ?? undefined, + p_parent_request_id: metadata.parentRequestId ?? undefined, + p_trace_id: metadata.traceId ?? undefined, }); if (error) { diff --git a/src/lib/submissionItemsService.ts b/src/lib/submissionItemsService.ts index bede8376..b15bb2ab 100644 --- a/src/lib/submissionItemsService.ts +++ b/src/lib/submissionItemsService.ts @@ -74,7 +74,7 @@ export async function fetchSubmissionItems(submissionId: string): Promise [item.id, { ...item, dependencies: [], dependents: [] }])); + const itemMap = new Map(items.map(item => [item.id, { ...item, dependencies: [] as SubmissionItemWithDeps[], dependents: [] as SubmissionItemWithDeps[] }])); // Build relationships items.forEach(item => {