@@ -1266,7 +1266,17 @@ export class OrderingService
1266
1266
address_map
1267
1267
) . map (
1268
1268
item => item . payload ?. country_id
1269
- )
1269
+ ) ,
1270
+ ...(
1271
+ order_list . items ?. map (
1272
+ order => order . billing_address ?. address ?. country_id
1273
+ ) ?? [ ]
1274
+ ) ,
1275
+ ...(
1276
+ order_list . items ?. map (
1277
+ order => order . shipping_address ?. address ?. country_id
1278
+ ) ?? [ ]
1279
+ ) ,
1270
1280
] ,
1271
1281
this . country_service ,
1272
1282
'countries' ,
@@ -1785,11 +1795,12 @@ export class OrderingService
1785
1795
context ?: any
1786
1796
) : Promise < OrderListResponse > {
1787
1797
try {
1788
- return await this . aggregateOrders (
1798
+ const orders = await this . aggregateOrders (
1789
1799
request ,
1790
1800
request . subject ,
1791
1801
context
1792
1802
) ;
1803
+ return orders ;
1793
1804
}
1794
1805
catch ( e ) {
1795
1806
return this . catchOperationError ( e ) ;
@@ -2427,23 +2438,21 @@ export class OrderingService
2427
2438
orders ?: OrderMap ,
2428
2439
) : Promise < FulfillmentListResponse > {
2429
2440
try {
2430
- orders ??= await this . getOrderMap (
2431
- request . items ?. map ( item => item . order_id ! ) ,
2432
- request . subject ,
2433
- context
2434
- ) ?? { } ;
2435
-
2436
- const prototypes = await this . toFulfillmentResponsePrototypes (
2441
+ const evaluated = await this . _evaluateFulfillment (
2437
2442
request ,
2438
2443
context ,
2439
2444
orders ,
2440
2445
) ;
2441
2446
2442
- const invalids = prototypes . filter (
2447
+ if ( evaluated ?. operation_status ?. code >= 300 ) {
2448
+ throw evaluated . operation_status ;
2449
+ }
2450
+
2451
+ const invalids = evaluated ?. items ?. filter (
2443
2452
item => item . status ?. code !== 200
2444
2453
) ;
2445
2454
2446
- const valids = prototypes . filter (
2455
+ const valids = evaluated ?. items ? .filter (
2447
2456
item => item . status ?. code === 200
2448
2457
) . map (
2449
2458
item => {
@@ -2455,41 +2464,14 @@ export class OrderingService
2455
2464
return item ;
2456
2465
}
2457
2466
) ;
2458
-
2459
- const evaluated = valids . length ? await this . fulfillment_service . evaluate (
2467
+
2468
+ const created = valids ? .length ? await this . fulfillment_service . create (
2460
2469
{
2461
2470
items : valids . map ( item => item . payload ) ,
2462
2471
total_count : valids . length ,
2463
2472
subject : this . fulfillment_tech_user ?? this . ApiKey ?? request . subject ,
2464
2473
} ,
2465
2474
context
2466
- ) . then (
2467
- response => {
2468
- if ( response . operation_status ?. code !== 200 ) {
2469
- throw response . operation_status ;
2470
- }
2471
- response . items = response . items ?. filter (
2472
- item => {
2473
- if ( item . status ?. code === 200 ) {
2474
- return true ;
2475
- }
2476
- else {
2477
- invalids . push ( item ) ;
2478
- return false ;
2479
- }
2480
- }
2481
- ) ;
2482
- return response ;
2483
- }
2484
- ) : undefined ;
2485
-
2486
- const created = evaluated ?. items ?. length ? await this . fulfillment_service . create (
2487
- {
2488
- items : evaluated . items . map ( item => item . payload ) ,
2489
- total_count : evaluated . items . length ,
2490
- subject : this . fulfillment_tech_user ?? this . ApiKey ?? request . subject ,
2491
- } ,
2492
- context
2493
2475
) . then (
2494
2476
response => {
2495
2477
if ( response ?. operation_status ?. code !== 200 ) {
0 commit comments