@vendure/core 2.2.0-next.1 → 2.2.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/common/validate-custom-field-value.d.ts +2 -2
- package/dist/api/common/validate-custom-field-value.js +5 -5
- package/dist/api/common/validate-custom-field-value.js.map +1 -1
- package/dist/api/config/get-custom-fields-config-without-interfaces.d.ts +1 -1
- package/dist/api/config/get-custom-fields-config-without-interfaces.js +2 -1
- package/dist/api/config/get-custom-fields-config-without-interfaces.js.map +1 -1
- package/dist/api/config/graphql-custom-fields.js +14 -0
- package/dist/api/config/graphql-custom-fields.js.map +1 -1
- package/dist/api/middleware/exception-logger.filter.d.ts +5 -2
- package/dist/api/middleware/exception-logger.filter.js +21 -2
- package/dist/api/middleware/exception-logger.filter.js.map +1 -1
- package/dist/api/middleware/id-codec-plugin.js +2 -0
- package/dist/api/middleware/id-codec-plugin.js.map +1 -1
- package/dist/api/middleware/validate-custom-fields-interceptor.js +7 -7
- package/dist/api/middleware/validate-custom-fields-interceptor.js.map +1 -1
- package/dist/api/resolvers/admin/global-settings.resolver.d.ts +1 -0
- package/dist/api/resolvers/admin/global-settings.resolver.js +27 -3
- package/dist/api/resolvers/admin/global-settings.resolver.js.map +1 -1
- package/dist/api/resolvers/admin/order.resolver.d.ts +2 -1
- package/dist/api/resolvers/admin/order.resolver.js +13 -0
- package/dist/api/resolvers/admin/order.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/administrator-entity.resolver.d.ts +3 -3
- package/dist/api/resolvers/entity/administrator-entity.resolver.js +9 -9
- package/dist/api/resolvers/entity/administrator-entity.resolver.js.map +1 -1
- package/dist/api/resolvers/entity/product-variant-entity.resolver.js +2 -1
- package/dist/api/resolvers/entity/product-variant-entity.resolver.js.map +1 -1
- package/dist/api/schema/admin-api/order.api.graphql +41 -0
- package/dist/api/schema/common/history-entry.type.graphql +1 -0
- package/dist/common/error/generated-graphql-admin-errors.d.ts +9 -0
- package/dist/common/error/generated-graphql-admin-errors.js +12 -2
- package/dist/common/error/generated-graphql-admin-errors.js.map +1 -1
- package/dist/config/config.module.js +2 -1
- package/dist/config/config.module.js.map +1 -1
- package/dist/config/custom-field/custom-field-types.d.ts +7 -3
- package/dist/config/default-config.js +2 -0
- package/dist/config/default-config.js.map +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/system/error-handler-strategy.d.ts +75 -0
- package/dist/config/system/error-handler-strategy.js +3 -0
- package/dist/config/system/error-handler-strategy.js.map +1 -0
- package/dist/config/vendure-config.d.ts +10 -0
- package/dist/entity/custom-entity-fields.d.ts +2 -0
- package/dist/entity/custom-entity-fields.js +4 -1
- package/dist/entity/custom-entity-fields.js.map +1 -1
- package/dist/entity/product-variant/product-variant-price.entity.d.ts +4 -1
- package/dist/entity/product-variant/product-variant-price.entity.js +5 -0
- package/dist/entity/product-variant/product-variant-price.entity.js.map +1 -1
- package/dist/entity/refund/refund.entity.d.ts +12 -0
- package/dist/entity/refund/refund.entity.js.map +1 -1
- package/dist/entity/register-custom-entity-fields.js +43 -55
- package/dist/entity/register-custom-entity-fields.js.map +1 -1
- package/dist/i18n/messages/de.json +3 -3
- package/dist/i18n/messages/en.json +2 -0
- package/dist/job-queue/job-queue.service.d.ts +5 -0
- package/dist/job-queue/job-queue.service.js +22 -0
- package/dist/job-queue/job-queue.service.js.map +1 -1
- package/dist/job-queue/polling-job-queue-strategy.d.ts +34 -1
- package/dist/job-queue/polling-job-queue-strategy.js +54 -24
- package/dist/job-queue/polling-job-queue-strategy.js.map +1 -1
- package/dist/plugin/default-job-queue-plugin/default-job-queue-plugin.d.ts +12 -0
- package/dist/plugin/default-job-queue-plugin/default-job-queue-plugin.js +2 -1
- package/dist/plugin/default-job-queue-plugin/default-job-queue-plugin.js.map +1 -1
- package/dist/plugin/default-search-plugin/indexer/indexer.controller.d.ts +4 -3
- package/dist/plugin/default-search-plugin/indexer/indexer.controller.js +12 -3
- package/dist/plugin/default-search-plugin/indexer/indexer.controller.js.map +1 -1
- package/dist/plugin/default-search-plugin/indexer/search-index.service.js +2 -2
- package/dist/plugin/default-search-plugin/indexer/search-index.service.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js +7 -6
- package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js +5 -7
- package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js.map +1 -1
- package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js +9 -7
- package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js.map +1 -1
- package/dist/service/helpers/order-modifier/order-modifier.d.ts +9 -4
- package/dist/service/helpers/order-modifier/order-modifier.js +118 -34
- package/dist/service/helpers/order-modifier/order-modifier.js.map +1 -1
- package/dist/service/helpers/translatable-saver/translatable-saver.js +1 -0
- package/dist/service/helpers/translatable-saver/translatable-saver.js.map +1 -1
- package/dist/service/services/collection.service.js +3 -0
- package/dist/service/services/collection.service.js.map +1 -1
- package/dist/service/services/history.service.d.ts +7 -0
- package/dist/service/services/history.service.js.map +1 -1
- package/dist/service/services/order.service.d.ts +12 -8
- package/dist/service/services/order.service.js +58 -67
- package/dist/service/services/order.service.js.map +1 -1
- package/dist/service/services/payment.service.d.ts +8 -2
- package/dist/service/services/payment.service.js +54 -25
- package/dist/service/services/payment.service.js.map +1 -1
- package/dist/service/services/product-variant.service.js +9 -3
- package/dist/service/services/product-variant.service.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AddPaymentToOrderResult, ApplyCouponCodeResult, PaymentInput, PaymentMethodQuote, RemoveOrderItemsResult, SetOrderShippingMethodResult, UpdateOrderItemsResult } from '@vendure/common/lib/generated-shop-types';
|
|
2
|
-
import { AddFulfillmentToOrderResult, AddManualPaymentToOrderResult, AddNoteToOrderInput, CancelOrderInput, CancelOrderResult, CancelPaymentResult, CreateAddressInput, DeletionResponse, FulfillOrderInput, ManualPaymentInput, ModifyOrderInput, ModifyOrderResult, OrderListOptions, OrderProcessState, RefundOrderInput, RefundOrderResult, SettlePaymentResult, SettleRefundInput, ShippingMethodQuote, TransitionPaymentToStateResult, UpdateOrderNoteInput } from '@vendure/common/lib/generated-types';
|
|
2
|
+
import { AddFulfillmentToOrderResult, AddManualPaymentToOrderResult, AddNoteToOrderInput, CancelOrderInput, CancelOrderResult, CancelPaymentResult, CreateAddressInput, DeletionResponse, FulfillOrderInput, ManualPaymentInput, ModifyOrderInput, ModifyOrderResult, OrderListOptions, OrderProcessState, RefundOrderInput, RefundOrderResult, SetOrderCustomerInput, SettlePaymentResult, SettleRefundInput, ShippingMethodQuote, TransitionPaymentToStateResult, UpdateOrderNoteInput } from '@vendure/common/lib/generated-types';
|
|
3
3
|
import { ID, PaginatedList } from '@vendure/common/lib/shared-types';
|
|
4
4
|
import { RequestContext } from '../../api/common/request-context';
|
|
5
5
|
import { RelationPaths } from '../../api/decorators/relations.decorator';
|
|
@@ -14,9 +14,9 @@ import { Channel } from '../../entity/channel/channel.entity';
|
|
|
14
14
|
import { Customer } from '../../entity/customer/customer.entity';
|
|
15
15
|
import { Fulfillment } from '../../entity/fulfillment/fulfillment.entity';
|
|
16
16
|
import { HistoryEntry } from '../../entity/history-entry/history-entry.entity';
|
|
17
|
-
import { Order } from '../../entity/order/order.entity';
|
|
18
17
|
import { OrderLine } from '../../entity/order-line/order-line.entity';
|
|
19
18
|
import { OrderModification } from '../../entity/order-modification/order-modification.entity';
|
|
19
|
+
import { Order } from '../../entity/order/order.entity';
|
|
20
20
|
import { Payment } from '../../entity/payment/payment.entity';
|
|
21
21
|
import { Promotion } from '../../entity/promotion/promotion.entity';
|
|
22
22
|
import { Refund } from '../../entity/refund/refund.entity';
|
|
@@ -32,7 +32,6 @@ import { OrderModifier } from '../helpers/order-modifier/order-modifier';
|
|
|
32
32
|
import { OrderState } from '../helpers/order-state-machine/order-state';
|
|
33
33
|
import { OrderStateMachine } from '../helpers/order-state-machine/order-state-machine';
|
|
34
34
|
import { PaymentState } from '../helpers/payment-state-machine/payment-state';
|
|
35
|
-
import { PaymentStateMachine } from '../helpers/payment-state-machine/payment-state-machine';
|
|
36
35
|
import { RefundStateMachine } from '../helpers/refund-state-machine/refund-state-machine';
|
|
37
36
|
import { ShippingCalculator } from '../helpers/shipping-calculator/shipping-calculator';
|
|
38
37
|
import { TranslatorService } from '../helpers/translator/translator.service';
|
|
@@ -46,7 +45,6 @@ import { PaymentService } from './payment.service';
|
|
|
46
45
|
import { ProductVariantService } from './product-variant.service';
|
|
47
46
|
import { PromotionService } from './promotion.service';
|
|
48
47
|
import { StockLevelService } from './stock-level.service';
|
|
49
|
-
import { StockMovementService } from './stock-movement.service';
|
|
50
48
|
/**
|
|
51
49
|
* @description
|
|
52
50
|
* Contains methods relating to {@link Order} entities.
|
|
@@ -64,11 +62,9 @@ export declare class OrderService {
|
|
|
64
62
|
private orderStateMachine;
|
|
65
63
|
private orderMerger;
|
|
66
64
|
private paymentService;
|
|
67
|
-
private paymentStateMachine;
|
|
68
65
|
private paymentMethodService;
|
|
69
66
|
private fulfillmentService;
|
|
70
67
|
private listQueryBuilder;
|
|
71
|
-
private stockMovementService;
|
|
72
68
|
private refundStateMachine;
|
|
73
69
|
private historyService;
|
|
74
70
|
private promotionService;
|
|
@@ -79,7 +75,7 @@ export declare class OrderService {
|
|
|
79
75
|
private requestCache;
|
|
80
76
|
private translator;
|
|
81
77
|
private stockLevelService;
|
|
82
|
-
constructor(connection: TransactionalConnection, configService: ConfigService, productVariantService: ProductVariantService, customerService: CustomerService, countryService: CountryService, orderCalculator: OrderCalculator, shippingCalculator: ShippingCalculator, orderStateMachine: OrderStateMachine, orderMerger: OrderMerger, paymentService: PaymentService,
|
|
78
|
+
constructor(connection: TransactionalConnection, configService: ConfigService, productVariantService: ProductVariantService, customerService: CustomerService, countryService: CountryService, orderCalculator: OrderCalculator, shippingCalculator: ShippingCalculator, orderStateMachine: OrderStateMachine, orderMerger: OrderMerger, paymentService: PaymentService, paymentMethodService: PaymentMethodService, fulfillmentService: FulfillmentService, listQueryBuilder: ListQueryBuilder, refundStateMachine: RefundStateMachine, historyService: HistoryService, promotionService: PromotionService, eventBus: EventBus, channelService: ChannelService, orderModifier: OrderModifier, customFieldRelationService: CustomFieldRelationService, requestCache: RequestContextCacheService, translator: TranslatorService, stockLevelService: StockLevelService);
|
|
83
79
|
/**
|
|
84
80
|
* @description
|
|
85
81
|
* Returns an array of all the configured states and transitions of the order process. This is
|
|
@@ -129,6 +125,14 @@ export declare class OrderService {
|
|
|
129
125
|
* Updates the custom fields of an Order.
|
|
130
126
|
*/
|
|
131
127
|
updateCustomFields(ctx: RequestContext, orderId: ID, customFields: any): Promise<Order>;
|
|
128
|
+
/**
|
|
129
|
+
* @description
|
|
130
|
+
* Updates the Customer which is assigned to a given Order. The target Customer must be assigned to the same
|
|
131
|
+
* Channels as the Order, otherwise an error will be thrown.
|
|
132
|
+
*
|
|
133
|
+
* @since 2.2.0
|
|
134
|
+
*/
|
|
135
|
+
updateOrderCustomer(ctx: RequestContext, { customerId, orderId, note }: SetOrderCustomerInput): Promise<Order>;
|
|
132
136
|
/**
|
|
133
137
|
* @description
|
|
134
138
|
* Adds an item to the Order, either creating a new OrderLine or
|
|
@@ -322,7 +326,7 @@ export declare class OrderService {
|
|
|
322
326
|
* @description
|
|
323
327
|
* Associates a Customer with the Order.
|
|
324
328
|
*/
|
|
325
|
-
addCustomerToOrder(ctx: RequestContext,
|
|
329
|
+
addCustomerToOrder(ctx: RequestContext, orderIdOrOrder: ID | Order, customer: Customer): Promise<Order>;
|
|
326
330
|
/**
|
|
327
331
|
* @description
|
|
328
332
|
* Creates a new "ORDER_NOTE" type {@link OrderHistoryEntry} in the Order's history timeline.
|
|
@@ -25,10 +25,10 @@ const tax_utils_1 = require("../../common/tax-utils");
|
|
|
25
25
|
const utils_1 = require("../../common/utils");
|
|
26
26
|
const config_service_1 = require("../../config/config.service");
|
|
27
27
|
const transactional_connection_1 = require("../../connection/transactional-connection");
|
|
28
|
-
const order_entity_1 = require("../../entity/order/order.entity");
|
|
29
|
-
const order_line_entity_1 = require("../../entity/order-line/order-line.entity");
|
|
30
28
|
const fulfillment_line_entity_1 = require("../../entity/order-line-reference/fulfillment-line.entity");
|
|
29
|
+
const order_line_entity_1 = require("../../entity/order-line/order-line.entity");
|
|
31
30
|
const order_modification_entity_1 = require("../../entity/order-modification/order-modification.entity");
|
|
31
|
+
const order_entity_1 = require("../../entity/order/order.entity");
|
|
32
32
|
const payment_entity_1 = require("../../entity/payment/payment.entity");
|
|
33
33
|
const product_variant_entity_1 = require("../../entity/product-variant/product-variant.entity");
|
|
34
34
|
const refund_entity_1 = require("../../entity/refund/refund.entity");
|
|
@@ -43,7 +43,6 @@ const order_calculator_1 = require("../helpers/order-calculator/order-calculator
|
|
|
43
43
|
const order_merger_1 = require("../helpers/order-merger/order-merger");
|
|
44
44
|
const order_modifier_1 = require("../helpers/order-modifier/order-modifier");
|
|
45
45
|
const order_state_machine_1 = require("../helpers/order-state-machine/order-state-machine");
|
|
46
|
-
const payment_state_machine_1 = require("../helpers/payment-state-machine/payment-state-machine");
|
|
47
46
|
const refund_state_machine_1 = require("../helpers/refund-state-machine/refund-state-machine");
|
|
48
47
|
const shipping_calculator_1 = require("../helpers/shipping-calculator/shipping-calculator");
|
|
49
48
|
const translator_service_1 = require("../helpers/translator/translator.service");
|
|
@@ -59,7 +58,6 @@ const payment_service_1 = require("./payment.service");
|
|
|
59
58
|
const product_variant_service_1 = require("./product-variant.service");
|
|
60
59
|
const promotion_service_1 = require("./promotion.service");
|
|
61
60
|
const stock_level_service_1 = require("./stock-level.service");
|
|
62
|
-
const stock_movement_service_1 = require("./stock-movement.service");
|
|
63
61
|
/**
|
|
64
62
|
* @description
|
|
65
63
|
* Contains methods relating to {@link Order} entities.
|
|
@@ -67,7 +65,7 @@ const stock_movement_service_1 = require("./stock-movement.service");
|
|
|
67
65
|
* @docsCategory services
|
|
68
66
|
*/
|
|
69
67
|
let OrderService = class OrderService {
|
|
70
|
-
constructor(connection, configService, productVariantService, customerService, countryService, orderCalculator, shippingCalculator, orderStateMachine, orderMerger, paymentService,
|
|
68
|
+
constructor(connection, configService, productVariantService, customerService, countryService, orderCalculator, shippingCalculator, orderStateMachine, orderMerger, paymentService, paymentMethodService, fulfillmentService, listQueryBuilder, refundStateMachine, historyService, promotionService, eventBus, channelService, orderModifier, customFieldRelationService, requestCache, translator, stockLevelService) {
|
|
71
69
|
this.connection = connection;
|
|
72
70
|
this.configService = configService;
|
|
73
71
|
this.productVariantService = productVariantService;
|
|
@@ -78,11 +76,9 @@ let OrderService = class OrderService {
|
|
|
78
76
|
this.orderStateMachine = orderStateMachine;
|
|
79
77
|
this.orderMerger = orderMerger;
|
|
80
78
|
this.paymentService = paymentService;
|
|
81
|
-
this.paymentStateMachine = paymentStateMachine;
|
|
82
79
|
this.paymentMethodService = paymentMethodService;
|
|
83
80
|
this.fulfillmentService = fulfillmentService;
|
|
84
81
|
this.listQueryBuilder = listQueryBuilder;
|
|
85
|
-
this.stockMovementService = stockMovementService;
|
|
86
82
|
this.refundStateMachine = refundStateMachine;
|
|
87
83
|
this.historyService = historyService;
|
|
88
84
|
this.promotionService = promotionService;
|
|
@@ -358,6 +354,49 @@ let OrderService = class OrderService {
|
|
|
358
354
|
this.eventBus.publish(new index_1.OrderEvent(ctx, updatedOrder, 'updated'));
|
|
359
355
|
return updatedOrder;
|
|
360
356
|
}
|
|
357
|
+
/**
|
|
358
|
+
* @description
|
|
359
|
+
* Updates the Customer which is assigned to a given Order. The target Customer must be assigned to the same
|
|
360
|
+
* Channels as the Order, otherwise an error will be thrown.
|
|
361
|
+
*
|
|
362
|
+
* @since 2.2.0
|
|
363
|
+
*/
|
|
364
|
+
async updateOrderCustomer(ctx, { customerId, orderId, note }) {
|
|
365
|
+
const order = await this.getOrderOrThrow(ctx, orderId);
|
|
366
|
+
const currentCustomer = order.customer;
|
|
367
|
+
if ((currentCustomer === null || currentCustomer === void 0 ? void 0 : currentCustomer.id) === customerId) {
|
|
368
|
+
// No change in customer, so just return the order as-is
|
|
369
|
+
return order;
|
|
370
|
+
}
|
|
371
|
+
const targetCustomer = await this.customerService.findOne(ctx, customerId, ['channels']);
|
|
372
|
+
if (!targetCustomer) {
|
|
373
|
+
throw new errors_1.EntityNotFoundError('Customer', customerId);
|
|
374
|
+
}
|
|
375
|
+
// ensure the customer is assigned to the same channels as the order
|
|
376
|
+
const channelIds = order.channels.map(c => c.id);
|
|
377
|
+
const customerChannelIds = targetCustomer.channels.map(c => c.id);
|
|
378
|
+
const missingChannelIds = channelIds.filter(id => !customerChannelIds.includes(id));
|
|
379
|
+
if (missingChannelIds.length) {
|
|
380
|
+
throw new errors_1.UserInputError(`error.target-customer-not-assigned-to-order-channels`, {
|
|
381
|
+
channelIds: missingChannelIds.join(', '),
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
const updatedOrder = await this.addCustomerToOrder(ctx, order.id, targetCustomer);
|
|
385
|
+
this.eventBus.publish(new index_1.OrderEvent(ctx, updatedOrder, 'updated'));
|
|
386
|
+
await this.historyService.createHistoryEntryForOrder({
|
|
387
|
+
ctx,
|
|
388
|
+
orderId,
|
|
389
|
+
type: generated_types_1.HistoryEntryType.ORDER_CUSTOMER_UPDATED,
|
|
390
|
+
data: {
|
|
391
|
+
previousCustomerId: currentCustomer === null || currentCustomer === void 0 ? void 0 : currentCustomer.id,
|
|
392
|
+
previousCustomerName: currentCustomer && `${currentCustomer.firstName} ${currentCustomer.lastName}`,
|
|
393
|
+
newCustomerId: targetCustomer.id,
|
|
394
|
+
newCustomerName: `${targetCustomer.firstName} ${targetCustomer.lastName}`,
|
|
395
|
+
note,
|
|
396
|
+
},
|
|
397
|
+
});
|
|
398
|
+
return updatedOrder;
|
|
399
|
+
}
|
|
361
400
|
/**
|
|
362
401
|
* @description
|
|
363
402
|
* Adds an item to the Order, either creating a new OrderLine or
|
|
@@ -666,58 +705,9 @@ let OrderService = class OrderService {
|
|
|
666
705
|
if (validationError) {
|
|
667
706
|
return validationError;
|
|
668
707
|
}
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
return new generated_graphql_shop_errors_1.IneligibleShippingMethodError();
|
|
673
|
-
}
|
|
674
|
-
let shippingLine = order.shippingLines[i];
|
|
675
|
-
if (shippingLine) {
|
|
676
|
-
shippingLine.shippingMethod = shippingMethod;
|
|
677
|
-
shippingLine.shippingMethodId = shippingMethod.id;
|
|
678
|
-
}
|
|
679
|
-
else {
|
|
680
|
-
shippingLine = await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).save(new shipping_line_entity_1.ShippingLine({
|
|
681
|
-
shippingMethod,
|
|
682
|
-
order,
|
|
683
|
-
adjustments: [],
|
|
684
|
-
listPrice: 0,
|
|
685
|
-
listPriceIncludesTax: ctx.channel.pricesIncludeTax,
|
|
686
|
-
taxLines: [],
|
|
687
|
-
}));
|
|
688
|
-
if (order.shippingLines) {
|
|
689
|
-
order.shippingLines.push(shippingLine);
|
|
690
|
-
}
|
|
691
|
-
else {
|
|
692
|
-
order.shippingLines = [shippingLine];
|
|
693
|
-
}
|
|
694
|
-
}
|
|
695
|
-
await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).save(shippingLine);
|
|
696
|
-
}
|
|
697
|
-
// remove any now-unused ShippingLines
|
|
698
|
-
if (shippingMethodIds.length < order.shippingLines.length) {
|
|
699
|
-
const shippingLinesToDelete = order.shippingLines.splice(shippingMethodIds.length - 1);
|
|
700
|
-
await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).remove(shippingLinesToDelete);
|
|
701
|
-
}
|
|
702
|
-
// assign the ShippingLines to the OrderLines
|
|
703
|
-
await this.connection
|
|
704
|
-
.getRepository(ctx, order_line_entity_1.OrderLine)
|
|
705
|
-
.createQueryBuilder('line')
|
|
706
|
-
.update({ shippingLine: undefined })
|
|
707
|
-
.whereInIds(order.lines.map(l => l.id))
|
|
708
|
-
.execute();
|
|
709
|
-
const { shippingLineAssignmentStrategy } = this.configService.shippingOptions;
|
|
710
|
-
for (const shippingLine of order.shippingLines) {
|
|
711
|
-
const orderLinesForShippingLine = await shippingLineAssignmentStrategy.assignShippingLineToOrderLines(ctx, shippingLine, order);
|
|
712
|
-
await this.connection
|
|
713
|
-
.getRepository(ctx, order_line_entity_1.OrderLine)
|
|
714
|
-
.createQueryBuilder('line')
|
|
715
|
-
.update({ shippingLineId: shippingLine.id })
|
|
716
|
-
.whereInIds(orderLinesForShippingLine.map(l => l.id))
|
|
717
|
-
.execute();
|
|
718
|
-
orderLinesForShippingLine.forEach(line => {
|
|
719
|
-
line.shippingLine = shippingLine;
|
|
720
|
-
});
|
|
708
|
+
const result = await this.orderModifier.setShippingMethods(ctx, order, shippingMethodIds);
|
|
709
|
+
if ((0, error_result_1.isGraphQlErrorResult)(result)) {
|
|
710
|
+
return result;
|
|
721
711
|
}
|
|
722
712
|
const updatedOrder = await this.getOrderOrThrow(ctx, orderId);
|
|
723
713
|
await this.applyPriceAdjustments(ctx, updatedOrder);
|
|
@@ -1073,7 +1063,8 @@ let OrderService = class OrderService {
|
|
|
1073
1063
|
async refundOrder(ctx, input) {
|
|
1074
1064
|
var _a;
|
|
1075
1065
|
if ((!input.lines || input.lines.length === 0 || (0, shared_utils_1.summate)(input.lines, 'quantity') === 0) &&
|
|
1076
|
-
input.shipping === 0
|
|
1066
|
+
input.shipping === 0 &&
|
|
1067
|
+
!input.amount) {
|
|
1077
1068
|
return new generated_graphql_admin_errors_1.NothingToRefundError();
|
|
1078
1069
|
}
|
|
1079
1070
|
const orders = await (0, order_utils_1.getOrdersFromLines)(ctx, this.connection, (_a = input.lines) !== null && _a !== void 0 ? _a : []);
|
|
@@ -1115,18 +1106,20 @@ let OrderService = class OrderService {
|
|
|
1115
1106
|
* @description
|
|
1116
1107
|
* Associates a Customer with the Order.
|
|
1117
1108
|
*/
|
|
1118
|
-
async addCustomerToOrder(ctx,
|
|
1119
|
-
const order =
|
|
1109
|
+
async addCustomerToOrder(ctx, orderIdOrOrder, customer) {
|
|
1110
|
+
const order = orderIdOrOrder instanceof order_entity_1.Order
|
|
1111
|
+
? orderIdOrOrder
|
|
1112
|
+
: await this.getOrderOrThrow(ctx, orderIdOrOrder);
|
|
1120
1113
|
order.customer = customer;
|
|
1121
1114
|
await this.connection.getRepository(ctx, order_entity_1.Order).save(order, { reload: false });
|
|
1115
|
+
let updatedOrder = order;
|
|
1122
1116
|
// Check that any applied couponCodes are still valid now that
|
|
1123
1117
|
// we know the Customer.
|
|
1124
|
-
|
|
1125
|
-
if (order.couponCodes) {
|
|
1118
|
+
if (order.active && order.couponCodes) {
|
|
1126
1119
|
for (const couponCode of order.couponCodes.slice()) {
|
|
1127
1120
|
const validationResult = await this.promotionService.validateCouponCode(ctx, couponCode, customer.id);
|
|
1128
1121
|
if ((0, error_result_1.isGraphQlErrorResult)(validationResult)) {
|
|
1129
|
-
updatedOrder = await this.removeCouponCode(ctx,
|
|
1122
|
+
updatedOrder = await this.removeCouponCode(ctx, order.id, couponCode);
|
|
1130
1123
|
}
|
|
1131
1124
|
}
|
|
1132
1125
|
}
|
|
@@ -1358,11 +1351,9 @@ OrderService = __decorate([
|
|
|
1358
1351
|
order_state_machine_1.OrderStateMachine,
|
|
1359
1352
|
order_merger_1.OrderMerger,
|
|
1360
1353
|
payment_service_1.PaymentService,
|
|
1361
|
-
payment_state_machine_1.PaymentStateMachine,
|
|
1362
1354
|
payment_method_service_1.PaymentMethodService,
|
|
1363
1355
|
fulfillment_service_1.FulfillmentService,
|
|
1364
1356
|
list_query_builder_1.ListQueryBuilder,
|
|
1365
|
-
stock_movement_service_1.StockMovementService,
|
|
1366
1357
|
refund_state_machine_1.RefundStateMachine,
|
|
1367
1358
|
history_service_1.HistoryService,
|
|
1368
1359
|
promotion_service_1.PromotionService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.service.js","sourceRoot":"","sources":["../../../src/service/services/order.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"order.service.js","sourceRoot":"","sources":["../../../src/service/services/order.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ManualPaymentInput, RefundOrderInput } from '@vendure/common/lib/generated-types';
|
|
2
2
|
import { DeepPartial, ID } from '@vendure/common/lib/shared-types';
|
|
3
3
|
import { RequestContext } from '../../api/common/request-context';
|
|
4
|
-
import { PaymentStateTransitionError, RefundStateTransitionError } from '../../common/error/generated-graphql-admin-errors';
|
|
4
|
+
import { PaymentStateTransitionError, RefundAmountError, RefundStateTransitionError } from '../../common/error/generated-graphql-admin-errors';
|
|
5
5
|
import { IneligiblePaymentMethodError } from '../../common/error/generated-graphql-shop-errors';
|
|
6
6
|
import { TransactionalConnection } from '../../connection/transactional-connection';
|
|
7
7
|
import { Order } from '../../entity/order/order.entity';
|
|
@@ -76,6 +76,12 @@ export declare class PaymentService {
|
|
|
76
76
|
* preferable to use the {@link OrderService} `refundOrder()` method, which performs additional
|
|
77
77
|
* validation.
|
|
78
78
|
*/
|
|
79
|
-
createRefund(ctx: RequestContext, input: RefundOrderInput, order: Order, selectedPayment: Payment): Promise<Refund | RefundStateTransitionError>;
|
|
79
|
+
createRefund(ctx: RequestContext, input: RefundOrderInput, order: Order, selectedPayment: Payment): Promise<Refund | RefundStateTransitionError | RefundAmountError>;
|
|
80
|
+
/**
|
|
81
|
+
* @description
|
|
82
|
+
* Returns the total amount of all Refunds against the given Payment.
|
|
83
|
+
*/
|
|
84
|
+
private getPaymentRefundTotal;
|
|
85
|
+
private getRefundAmount;
|
|
80
86
|
private mergePaymentMetadata;
|
|
81
87
|
}
|