@@ -18,6 +18,7 @@ import {
1818
1919const EMPTY_TEMPLATE_PREFERENCES = {
2020 shippable_templates : { } ,
21+ delivery_templates : { } ,
2122 evidence_document_templates : { } ,
2223 auto_save_templates : false ,
2324} ;
@@ -361,6 +362,7 @@ export function buildGetAuxillaryDataRoute(options: AuxillaryRouteBuilderOptions
361362 const templatePreferences = templatePreferencesResult . data
362363 ? {
363364 shippable_templates : templatePreferencesResult . data . deliverable_templates || { } ,
365+ delivery_templates : templatePreferencesResult . data . deliverable_templates || { } ,
364366 evidence_document_templates : templatePreferencesResult . data . ai_document_templates || { } ,
365367 auto_save_templates : Boolean ( templatePreferencesResult . data . auto_save_templates ) ,
366368 }
@@ -546,6 +548,7 @@ export function buildGetAuxillaryTemplatePreferencesRoute(options: AuxillaryRout
546548
547549 return createJsonResponse ( {
548550 shippable_templates : data . deliverable_templates || { } ,
551+ delivery_templates : data . deliverable_templates || { } ,
549552 evidence_document_templates : data . ai_document_templates || { } ,
550553 } ) ;
551554 } ) ;
@@ -574,34 +577,25 @@ export function buildPostAuxillaryTemplatePreferencesRoute(options: AuxillaryRou
574577 return createJsonResponse ( { error : 'Invalid JSON' } , 400 ) ;
575578 }
576579
577- const payload =
578- body && typeof body === 'object'
579- ? {
580- shippable_templates :
581- typeof ( body as Record < string , unknown > ) . shippable_templates === 'object' &&
582- ( body as Record < string , unknown > ) . shippable_templates !== null
583- ? ( body as Record < string , unknown > ) . shippable_templates
584- : null ,
585- evidence_document_templates :
586- typeof ( body as Record < string , unknown > ) . evidence_document_templates === 'object' &&
587- ( body as Record < string , unknown > ) . evidence_document_templates !== null
588- ? ( body as Record < string , unknown > ) . evidence_document_templates
589- : null ,
590- }
591- : {
592- shippable_templates : null ,
593- evidence_document_templates : null ,
594- } ;
595-
596- if ( ! payload . shippable_templates || ! payload . evidence_document_templates ) {
580+ const asObject = ( value : unknown ) =>
581+ typeof value === 'object' && value !== null ? value : null ;
582+ const bodyRecord =
583+ body && typeof body === 'object' ? ( body as Record < string , unknown > ) : null ;
584+ // Prefer delivery_templates; dual-read historical shippable_templates.
585+ const deliveryTemplates =
586+ asObject ( bodyRecord ?. delivery_templates ) ||
587+ asObject ( bodyRecord ?. shippable_templates ) ;
588+ const evidenceDocumentTemplates = asObject ( bodyRecord ?. evidence_document_templates ) ;
589+
590+ if ( ! deliveryTemplates || ! evidenceDocumentTemplates ) {
597591 return createJsonResponse ( { error : 'Invalid template preferences format' } , 400 ) ;
598592 }
599593
600594 const { error : upsertError } = await supabaseAdmin . from ( 'user_template_preferences' ) . upsert (
601595 {
602596 user_id : user . id ,
603- deliverable_templates : payload . shippable_templates ,
604- ai_document_templates : payload . evidence_document_templates ,
597+ deliverable_templates : deliveryTemplates ,
598+ ai_document_templates : evidenceDocumentTemplates ,
605599 updated_at : new Date ( ) . toISOString ( ) ,
606600 } ,
607601 { onConflict : 'user_id' } ,
0 commit comments