@@ -452,39 +452,44 @@ export async function handleAdminLegacyPaymentSettings(request: Request, env: an
452452
453453 if ( request . method === 'GET' ) {
454454 const url = new URL ( request . url )
455- if ( url . searchParams . get ( 'orders' ) === '1' ) {
456- const limitRaw = Number . parseInt ( String ( url . searchParams . get ( 'limit' ) ?? '25' ) , 10 )
457- const limit = Number . isFinite ( limitRaw ) && limitRaw > 0 ? Math . min ( limitRaw , 100 ) : 25
458- const db = getDb ( env )
459- const rows = await db . prepare ( `
460- SELECT pcs.id, pcs.user_id, pcs.plan_type, pcs.provider_checkout_id, pcs.status,
461- pcs.created_at, pcs.completed_at, u.email
462- FROM payment_checkout_sessions pcs
463- LEFT JOIN users u ON u.id = pcs.user_id
464- WHERE pcs.provider = 'legacy'
465- ORDER BY datetime(COALESCE(pcs.updated_at, pcs.created_at)) DESC
466- LIMIT ?
467- ` ) . bind ( limit ) . all ( )
468- const orders = ( rows . results ?? [ ] ) . map ( ( row : any ) => ( {
469- id : row . id ,
470- userId : row . user_id ,
471- email : row . email ? maskEmail ( String ( row . email ) ) : null ,
472- planType : row . plan_type ,
473- orderId : row . provider_checkout_id ,
474- status : row . status ,
475- createdAt : row . created_at ,
476- completedAt : row . completed_at ,
477- } ) )
478- return jsonResponse ( { orders } , 200 , corsHeaders )
455+ try {
456+ if ( url . searchParams . get ( 'orders' ) === '1' ) {
457+ const limitRaw = Number . parseInt ( String ( url . searchParams . get ( 'limit' ) ?? '25' ) , 10 )
458+ const limit = Number . isFinite ( limitRaw ) && limitRaw > 0 ? Math . min ( limitRaw , 100 ) : 25
459+ const db = getDb ( env )
460+ const rows = await db . prepare ( `
461+ SELECT pcs.id, pcs.user_id, pcs.plan_type, pcs.provider_checkout_id, pcs.status,
462+ pcs.created_at, pcs.completed_at, u.email
463+ FROM payment_checkout_sessions pcs
464+ LEFT JOIN users u ON u.id = pcs.user_id
465+ WHERE pcs.provider = 'legacy'
466+ ORDER BY datetime(COALESCE(pcs.updated_at, pcs.created_at)) DESC
467+ LIMIT ?
468+ ` ) . bind ( limit ) . all ( )
469+ const orders = ( rows . results ?? [ ] ) . map ( ( row : any ) => ( {
470+ id : row . id ,
471+ userId : row . user_id ,
472+ email : row . email ? maskEmail ( String ( row . email ) ) : null ,
473+ planType : row . plan_type ,
474+ orderId : row . provider_checkout_id ,
475+ status : row . status ,
476+ createdAt : row . created_at ,
477+ completedAt : row . completed_at ,
478+ } ) )
479+ return jsonResponse ( { orders } , 200 , corsHeaders )
480+ }
481+
482+ return jsonResponse ( {
483+ configured : isLegacyProviderConfigured ( env , 'production' ) ,
484+ sandboxConfigured : isLegacyProviderConfigured ( env , 'sandbox' ) ,
485+ merchantId : String ( env . LEGACY_ESHOP_MERCHANT_ID ?? '' ) . trim ( ) || null ,
486+ hasApiKey : Boolean ( String ( env . LEGACY_ESHOP_API_KEY ?? '' ) . trim ( ) ) ,
487+ hasWebhookSecret : Boolean ( String ( env . LEGACY_ESHOP_WEBHOOK_SECRET ?? '' ) . trim ( ) ) ,
488+ } , 200 , corsHeaders )
489+ } catch ( err ) {
490+ console . error ( '[admin legacy payments] GET failed' , err )
491+ return jsonResponse ( { error : 'Internal server error' } , 500 , corsHeaders )
479492 }
480-
481- return jsonResponse ( {
482- configured : isLegacyProviderConfigured ( env , 'production' ) ,
483- sandboxConfigured : isLegacyProviderConfigured ( env , 'sandbox' ) ,
484- merchantId : String ( env . LEGACY_ESHOP_MERCHANT_ID ?? '' ) . trim ( ) || null ,
485- hasApiKey : Boolean ( String ( env . LEGACY_ESHOP_API_KEY ?? '' ) . trim ( ) ) ,
486- hasWebhookSecret : Boolean ( String ( env . LEGACY_ESHOP_WEBHOOK_SECRET ?? '' ) . trim ( ) ) ,
487- } , 200 , corsHeaders )
488493 }
489494
490495 return jsonResponse ( { error : 'Method not allowed' } , 405 , corsHeaders )
0 commit comments