@chevre/domain 21.6.0-alpha.1 → 21.6.0-alpha.11

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.
Files changed (35) hide show
  1. package/example/src/chevre/createManyEventsIfNotExist.ts +0 -2
  2. package/example/src/chevre/migrateMovieAvailabilityStarts.ts +29 -16
  3. package/example/src/chevre/searchSellers.ts +28 -0
  4. package/example/src/chevre/unsetUnnecessaryFields.ts +18 -6
  5. package/lib/chevre/repo/mongoose/schemas/seller.js +12 -0
  6. package/lib/chevre/repo/seller.js +14 -2
  7. package/lib/chevre/service/assetTransaction/pay/factory.js +33 -29
  8. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +21 -26
  9. package/lib/chevre/service/assetTransaction/pay.js +0 -3
  10. package/lib/chevre/service/assetTransaction/refund/factory.js +13 -4
  11. package/lib/chevre/service/event.js +3 -7
  12. package/lib/chevre/service/order/onOrderStatusChanged.js +5 -3
  13. package/lib/chevre/service/order/placeOrder.js +10 -5
  14. package/lib/chevre/service/order/returnOrder.js +5 -1
  15. package/lib/chevre/service/order/sendOrder.js +5 -1
  16. package/lib/chevre/service/payment/any/factory.js +10 -9
  17. package/lib/chevre/service/payment/movieTicket.js +2 -2
  18. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +52 -0
  19. package/lib/chevre/service/transaction/placeOrderInProgress/factory.d.ts +1 -1
  20. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +3 -6
  21. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/givePointAward.js +15 -15
  22. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +15 -42
  23. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +15 -15
  24. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/sendEmailMessage.js +5 -3
  25. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +5 -4
  26. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +14 -7
  27. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +17 -5
  28. package/lib/chevre/service/transaction/placeOrderInProgress.js +1 -1
  29. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +5 -3
  30. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -21
  31. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +5 -3
  32. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +5 -4
  33. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +17 -13
  34. package/lib/chevre/service/transaction/returnOrder.js +124 -95
  35. package/package.json +3 -3
@@ -53,6 +53,15 @@ function onResourceDeleted(params) {
53
53
  ids: params.id
54
54
  })(repos);
55
55
  break;
56
+ case factory.product.ProductType.EventService:
57
+ case factory.product.ProductType.Product:
58
+ case factory.product.ProductType.Transportation:
59
+ yield deleteResourcesByProduct({
60
+ project: { id: params.project.id },
61
+ ids: params.id,
62
+ typeOf: params.typeOf
63
+ })(repos);
64
+ break;
56
65
  default:
57
66
  // no op
58
67
  throw new factory.errors.NotImplemented(`${params.typeOf} onDeleted not implemented`);
@@ -333,3 +342,46 @@ function deleteResourcesByOfferCatalog(params) {
333
342
  }
334
343
  });
335
344
  }
345
+ function deleteResourcesByProduct(params) {
346
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
347
+ if (params.ids.length !== 1) {
348
+ throw new factory.errors.Argument('id', 'id.length must be 1');
349
+ }
350
+ for (const productId of params.ids) {
351
+ const deleteActionAttributes = {
352
+ agent: { id: params.project.id, typeOf: factory.organizationType.Project },
353
+ object: { id: productId, typeOf: params.typeOf },
354
+ project: { id: params.project.id, typeOf: factory.organizationType.Project },
355
+ typeOf: factory.actionType.DeleteAction
356
+ };
357
+ let deleteResult;
358
+ const action = yield repos.action.start(deleteActionAttributes);
359
+ try {
360
+ let deleteEventResult;
361
+ let updateOfferResult;
362
+ // 興行を設定されたイベント削除
363
+ deleteEventResult = yield repos.event.deleteManyByItemOfferedId({
364
+ project: { id: params.project.id },
365
+ offers: { itemOffered: { id: { $in: [productId] } } }
366
+ });
367
+ // アドオンから除外
368
+ updateOfferResult = yield repos.offer.pullAddOns({
369
+ project: { id: params.project.id },
370
+ addOn: { itemOffered: { id: { $in: [productId] } } }
371
+ });
372
+ deleteResult = { deleteEventResult, updateOfferResult };
373
+ }
374
+ catch (error) {
375
+ try {
376
+ const actionError = Object.assign(Object.assign({}, error), { message: error.message, name: error.name });
377
+ yield repos.action.giveUp({ typeOf: deleteActionAttributes.typeOf, id: action.id, error: actionError });
378
+ }
379
+ catch (_) {
380
+ // no op
381
+ }
382
+ throw error;
383
+ }
384
+ yield repos.action.complete({ typeOf: deleteActionAttributes.typeOf, id: action.id, result: deleteResult });
385
+ }
386
+ });
387
+ }
@@ -1,2 +1,2 @@
1
1
  import * as factory from '../../../factory';
2
- export declare function createStartParams(params: factory.transaction.placeOrder.IStartParamsWithoutDetail, passport: factory.waiter.passport.IPassport | undefined, seller: Pick<factory.seller.ISeller, 'id' | 'name' | 'typeOf' | 'project'>, broker?: factory.order.IBroker): factory.transaction.placeOrder.IStartParams;
2
+ export declare function createStartParams(params: factory.transaction.placeOrder.IStartParamsWithoutDetail, passport: factory.waiter.passport.IPassport | undefined, seller: Pick<factory.seller.ISeller, 'id' | 'name' | 'typeOf' | 'project' | 'additionalProperty'>, broker?: factory.order.IBroker): factory.transaction.placeOrder.IStartParams;
@@ -20,15 +20,12 @@ function createStartParams(params, passport, seller, broker) {
20
20
  seller: {
21
21
  id: seller.id,
22
22
  name: seller.name,
23
- typeOf: seller.typeOf
23
+ typeOf: seller.typeOf,
24
+ // 追加特性を追加(2023-08-08~)
25
+ additionalProperty: (Array.isArray(seller.additionalProperty)) ? seller.additionalProperty : []
24
26
  },
25
27
  object: transactionObject,
26
- // expires: params.expires,
27
28
  expiresInSeconds: params.expiresInSeconds
28
- // 販売者にexpires設定があれば適用
29
- // ...(typeof makesOfferFromClient?.eligibleTransactionDuration?.maxValue === 'number')
30
- // ? { expiresInSeconds: makesOfferFromClient.eligibleTransactionDuration.maxValue }
31
- // : undefined
32
29
  };
33
30
  }
34
31
  exports.createStartParams = createStartParams;
@@ -19,6 +19,20 @@ function createGivePointAwardActions(params) {
19
19
  // インセンティブ付与アクションの指定があればそちらを反映
20
20
  const givePointAwardParams = (_a = params.transaction.object.potentialActions) === null || _a === void 0 ? void 0 : _a.givePointAward;
21
21
  if (Array.isArray(givePointAwardParams)) {
22
+ const givePointAwardPurpose = {
23
+ typeOf: params.order.typeOf,
24
+ seller: {
25
+ id: params.order.seller.id,
26
+ typeOf: params.order.seller.typeOf,
27
+ name: params.order.seller.name
28
+ },
29
+ // mask
30
+ customer: (0, order_1.createMaskedCustomer)(params.order, { noProfile: true }),
31
+ orderNumber: params.order.orderNumber,
32
+ price: params.order.price,
33
+ priceCurrency: params.order.priceCurrency,
34
+ orderDate: params.order.orderDate
35
+ };
22
36
  // メンバーシップごとに、特典を確認してインセンティブ付与
23
37
  givePointAwardParams.forEach((givePointAwardParam) => {
24
38
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -31,8 +45,6 @@ function createGivePointAwardActions(params) {
31
45
  project: params.transaction.project,
32
46
  typeOf: factory.actionType.GiveAction,
33
47
  agent: params.transaction.project,
34
- // order.customerからrecipientを生成する(2022-05-25~)
35
- // recipient: params.transaction.agent,
36
48
  recipient: {
37
49
  typeOf: params.order.customer.typeOf,
38
50
  id: params.order.customer.id,
@@ -42,19 +54,7 @@ function createGivePointAwardActions(params) {
42
54
  accountNumber: accountNumber,
43
55
  issuedThrough: { id: String((_h = (_g = (_f = givePointAwardParam.object) === null || _f === void 0 ? void 0 : _f.toLocation) === null || _g === void 0 ? void 0 : _g.issuedThrough) === null || _h === void 0 ? void 0 : _h.id) }
44
56
  }, description: (typeof description === 'string') ? description : '' }, (typeof pointAwardIdentifier === 'string') ? { identifier: pointAwardIdentifier } : undefined),
45
- purpose: {
46
- // project: params.order.project,
47
- typeOf: params.order.typeOf,
48
- seller: params.order.seller,
49
- // mask
50
- customer: (0, order_1.createMaskedCustomer)(params.order, { noProfile: true }),
51
- // IOrderへ移行(2022-11-17~)
52
- // confirmationNumber: params.order.confirmationNumber,
53
- orderNumber: params.order.orderNumber,
54
- price: params.order.price,
55
- priceCurrency: params.order.priceCurrency,
56
- orderDate: params.order.orderDate
57
- }
57
+ purpose: givePointAwardPurpose
58
58
  });
59
59
  }
60
60
  });
@@ -19,6 +19,20 @@ function createMoneyTransferActions(params) {
19
19
  .filter((a) => a.actionStatus === factory.actionStatusType.CompletedActionStatus)
20
20
  .filter((a) => a.object.typeOf === factory.offerType.Offer)
21
21
  .filter((a) => { var _a; return ((_a = a.object.itemOffered) === null || _a === void 0 ? void 0 : _a.typeOf) === factory.actionType.MoneyTransfer; });
22
+ const moneyTransferPurpose = {
23
+ typeOf: params.order.typeOf,
24
+ seller: {
25
+ id: params.order.seller.id,
26
+ typeOf: params.order.seller.typeOf,
27
+ name: params.order.seller.name
28
+ },
29
+ // mask
30
+ customer: (0, order_1.createMaskedCustomer)(params.order, { noProfile: true }),
31
+ orderNumber: params.order.orderNumber,
32
+ price: params.order.price,
33
+ priceCurrency: params.order.priceCurrency,
34
+ orderDate: params.order.orderDate
35
+ };
22
36
  // const paymentMethod = params.order.paymentMethods[0];
23
37
  authorizeMoneyTransferActions.forEach((a) => {
24
38
  var _a;
@@ -33,49 +47,8 @@ function createMoneyTransferActions(params) {
33
47
  transactionNumber: pendingTransaction.transactionNumber,
34
48
  typeOf: factory.assetTransactionType.MoneyTransfer
35
49
  },
36
- // agent: Projectに統一(2022-05-16~)
37
50
  agent: params.transaction.project,
38
- // agent: params.transaction.agent,
39
- // ↓recipient廃止(2022-05-16~)
40
- // recipient: a.recipient,
41
- // amount: {
42
- // typeOf: 'MonetaryAmount',
43
- // currency: pendingTransaction.object.amount.currency,
44
- // value: pendingTransaction.object.amount.value
45
- // },
46
- // fromLocation: (paymentMethod !== undefined)
47
- // ? {
48
- // accountId: paymentMethod.accountId,
49
- // typeOf: paymentMethod.typeOf,
50
- // name: paymentMethod.name,
51
- // paymentMethodId: paymentMethod.paymentMethodId,
52
- // additionalProperty: paymentMethod.additionalProperty
53
- // }
54
- // : {
55
- // typeOf: params.transaction.agent.typeOf,
56
- // id: params.transaction.agent.id,
57
- // name: <string>params.transaction.agent.name
58
- // },
59
- // toLocation: {
60
- // typeOf: pendingTransaction.object.toLocation.typeOf,
61
- // identifier: pendingTransaction.object.toLocation.identifier
62
- // },
63
- purpose: {
64
- // project: params.order.project,
65
- typeOf: params.order.typeOf,
66
- seller: params.order.seller,
67
- // mask
68
- customer: (0, order_1.createMaskedCustomer)(params.order, { noProfile: true }),
69
- // IOrderへ移行(2022-11-17~)
70
- // confirmationNumber: params.order.confirmationNumber,
71
- orderNumber: params.order.orderNumber,
72
- price: params.order.price,
73
- priceCurrency: params.order.priceCurrency,
74
- orderDate: params.order.orderDate
75
- }
76
- // ...(typeof pendingTransaction.object.description === 'string')
77
- // ? { description: pendingTransaction.object.description }
78
- // : {}
51
+ purpose: moneyTransferPurpose
79
52
  });
80
53
  }
81
54
  });
@@ -23,6 +23,20 @@ function createRegisterServiceActions(params) {
23
23
  && a.object.length > 0
24
24
  && a.object[0].typeOf === factory.offerType.Offer
25
25
  && availableProductTypes_1.availableProductTypes.indexOf(a.object[0].itemOffered.typeOf) >= 0);
26
+ const registerServicePurpose = {
27
+ typeOf: params.order.typeOf,
28
+ seller: {
29
+ id: params.order.seller.id,
30
+ typeOf: params.order.seller.typeOf,
31
+ name: params.order.seller.name
32
+ },
33
+ // mask
34
+ customer: (0, order_1.createMaskedCustomer)(params.order, { noProfile: true }),
35
+ orderNumber: params.order.orderNumber,
36
+ price: params.order.price,
37
+ priceCurrency: params.order.priceCurrency,
38
+ orderDate: params.order.orderDate
39
+ };
26
40
  authorizeProductOfferActions.forEach((a) => {
27
41
  var _a;
28
42
  const actionResult = a.result;
@@ -42,22 +56,8 @@ function createRegisterServiceActions(params) {
42
56
  project: params.transaction.project,
43
57
  typeOf: factory.actionType.ConfirmAction,
44
58
  object: registerServiceObject,
45
- // agent: Projectに統一(2022-05-16~)
46
59
  agent: params.transaction.project,
47
- // agent: params.transaction.agent,
48
- purpose: {
49
- // project: params.order.project,
50
- typeOf: params.order.typeOf,
51
- seller: params.order.seller,
52
- // mask
53
- customer: (0, order_1.createMaskedCustomer)(params.order, { noProfile: true }),
54
- // IOrderへ移行(2022-11-17~)
55
- // confirmationNumber: params.order.confirmationNumber,
56
- orderNumber: params.order.orderNumber,
57
- price: params.order.price,
58
- priceCurrency: params.order.priceCurrency,
59
- orderDate: params.order.orderDate
60
- },
60
+ purpose: registerServicePurpose,
61
61
  potentialActions: Object.assign({}, (orderProgramMembershipTask !== undefined)
62
62
  ? { orderProgramMembership: [orderProgramMembershipTask] }
63
63
  : undefined)
@@ -22,11 +22,13 @@ function createSendEmailMessageActions(params) {
22
22
  const maskedCustomer = (0, order_1.createMaskedCustomer)(params.order, { noProfile: true });
23
23
  const sendActionPurpose = {
24
24
  typeOf: params.order.typeOf,
25
- seller: params.order.seller,
25
+ seller: {
26
+ id: params.order.seller.id,
27
+ typeOf: params.order.seller.typeOf,
28
+ name: params.order.seller.name
29
+ },
26
30
  // mask
27
31
  customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id },
28
- // IOrderへ移行(2022-11-17~)
29
- // confirmationNumber: params.order.confirmationNumber,
30
32
  orderNumber: params.order.orderNumber,
31
33
  price: params.order.price,
32
34
  priceCurrency: params.order.priceCurrency,
@@ -30,13 +30,14 @@ function createPotentialActions(params) {
30
30
  const sendEmailMessageActions = yield (0, sendEmailMessage_1.createSendEmailMessageActions)(params);
31
31
  const maskedCustomer = (0, order_1.createMaskedCustomer)(params.order, { noProfile: true });
32
32
  const simpleOrder = {
33
- // project: params.order.project,
34
33
  typeOf: params.order.typeOf,
35
- seller: params.order.seller,
34
+ seller: {
35
+ id: params.order.seller.id,
36
+ typeOf: params.order.seller.typeOf,
37
+ name: params.order.seller.name
38
+ },
36
39
  // mask
37
40
  customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id },
38
- // IOrderへ移行(2022-11-17~)
39
- // confirmationNumber: params.order.confirmationNumber,
40
41
  orderNumber: params.order.orderNumber,
41
42
  price: params.order.price,
42
43
  priceCurrency: params.order.priceCurrency,
@@ -34,11 +34,11 @@ function createSeller(params) {
34
34
  var _a;
35
35
  const seller = params.transaction.seller;
36
36
  return {
37
- // 最適化(2022-11-15~)
38
- // project: { typeOf: params.transaction.project.typeOf, id: params.transaction.project.id },
39
37
  id: seller.id,
40
38
  name: (typeof seller.name === 'string') ? seller.name : String((_a = seller.name) === null || _a === void 0 ? void 0 : _a.ja),
41
- typeOf: seller.typeOf
39
+ typeOf: seller.typeOf,
40
+ // 追加特性を追加(2023-08-08~)
41
+ additionalProperty: (Array.isArray(seller.additionalProperty)) ? seller.additionalProperty : []
42
42
  };
43
43
  }
44
44
  function createCustomer(params) {
@@ -82,11 +82,18 @@ function createPaymentMethods(params) {
82
82
  });
83
83
  });
84
84
  // 決済方法から注文金額の計算
85
+ // price += authorizePaymentActions
86
+ // .filter((a) => {
87
+ // return a.result?.totalPaymentDue?.currency === factory.priceCurrency.JPY;
88
+ // })
89
+ // .reduce((a, b) => a + (<IAuthorizeAnyPaymentResult>b.result).amount, 0);
85
90
  price += authorizePaymentActions
86
- .filter((a) => {
91
+ .reduce((a, b) => {
87
92
  var _a, _b;
88
- return ((_b = (_a = a.result) === null || _a === void 0 ? void 0 : _a.totalPaymentDue) === null || _b === void 0 ? void 0 : _b.currency) === factory.priceCurrency.JPY;
89
- })
90
- .reduce((a, b) => a + b.result.amount, 0);
93
+ const jpyAmount = (((_b = (_a = b.result) === null || _a === void 0 ? void 0 : _a.totalPaymentDue) === null || _b === void 0 ? void 0 : _b.currency) === factory.priceCurrency.JPY)
94
+ ? b.result.totalPaymentDue.value
95
+ : 0;
96
+ return a + jpyAmount;
97
+ }, 0);
91
98
  return { paymentMethods, price };
92
99
  }
@@ -99,9 +99,17 @@ function validatePrice(transaction, authorizeActions) {
99
99
  return a.actionStatus === factory.actionStatusType.CompletedActionStatus
100
100
  && ((_a = a.result) === null || _a === void 0 ? void 0 : _a.typeOf) === factory.action.authorize.paymentMethod.any.ResultType.Payment;
101
101
  });
102
+ // priceByAgent += authorizePaymentActions
103
+ // .filter((a) => a.result?.totalPaymentDue?.currency === factory.priceCurrency.JPY)
104
+ // .reduce((a, b) => a + (<IAuthorizeAnyPaymentResult>b.result).amount, 0);
102
105
  priceByAgent += authorizePaymentActions
103
- .filter((a) => { var _a, _b; return ((_b = (_a = a.result) === null || _a === void 0 ? void 0 : _a.totalPaymentDue) === null || _b === void 0 ? void 0 : _b.currency) === factory.priceCurrency.JPY; })
104
- .reduce((a, b) => a + b.result.amount, 0);
106
+ .reduce((a, b) => {
107
+ var _a, _b;
108
+ const jpyAmount = (((_b = (_a = b.result) === null || _a === void 0 ? void 0 : _a.totalPaymentDue) === null || _b === void 0 ? void 0 : _b.currency) === factory.priceCurrency.JPY)
109
+ ? b.result.totalPaymentDue.value
110
+ : 0;
111
+ return a + jpyAmount;
112
+ }, 0);
105
113
  // 販売者が提供するアイテムの発生金額
106
114
  priceBySeller += authorizeActions
107
115
  .filter((authorizeAction) => authorizeAction.actionStatus === factory.actionStatusType.CompletedActionStatus)
@@ -203,11 +211,15 @@ function validateNumItems(params) {
203
211
  }
204
212
  exports.validateNumItems = validateNumItems;
205
213
  function validatePaymentMethods(params) {
206
- debug('processing validatePaymentMethods...maxNumCreditCardPaymentMethod:', settings_1.settings.maxNumCreditCardPaymentMethod);
207
214
  if (typeof settings_1.settings.maxNumCreditCardPaymentMethod === 'number') {
208
215
  // CreditCard IFの決済方法の最大値検証
209
- const creditCardPaymentMethodCount = params.order.paymentMethods.filter((p) => p.issuedThrough.typeOf === factory.service.paymentService.PaymentServiceType.CreditCard).length;
210
- debug('processing validatePaymentMethods...creditCardPaymentMethodCount:', creditCardPaymentMethodCount);
216
+ const creditCardPaymentMethodCount = params.order.paymentMethods.filter((p) => {
217
+ var _a, _b;
218
+ // カード通貨区分の存在する決済サービスを考慮(2023-08-09~)
219
+ const serviceOutputAmountCurrency = (_b = (_a = p.issuedThrough.serviceOutput) === null || _a === void 0 ? void 0 : _a.amount) === null || _b === void 0 ? void 0 : _b.currency;
220
+ return p.issuedThrough.typeOf === factory.service.paymentService.PaymentServiceType.CreditCard
221
+ && typeof serviceOutputAmountCurrency !== 'string';
222
+ }).length;
211
223
  if (creditCardPaymentMethodCount > settings_1.settings.maxNumCreditCardPaymentMethod) {
212
224
  throw new factory.errors.Argument('Transaction', (0, util_1.format)(`Number of paymentMethods issued through ${factory.service.paymentService.PaymentServiceType.CreditCard} payment service must be less than equal to %s`, settings_1.settings.maxNumCreditCardPaymentMethod));
213
225
  }
@@ -33,7 +33,7 @@ function start(params) {
33
33
  limit: 1,
34
34
  page: 1,
35
35
  id: { $eq: params.seller.id }
36
- }, ['name', 'project', 'typeOf', 'makesOffer'], []);
36
+ }, ['name', 'project', 'typeOf', 'makesOffer', 'additionalProperty'], []);
37
37
  const seller = sellers.shift();
38
38
  if (seller === undefined) {
39
39
  throw new factory.errors.NotFound(factory.organizationType.Corporation);
@@ -20,11 +20,13 @@ function createReturnMoneyTransferActions(params) {
20
20
  const maskedCustomer = (0, order_1.createMaskedCustomer)(order, { noProfile: true });
21
21
  const purpose = {
22
22
  typeOf: order.typeOf,
23
- seller: order.seller,
23
+ seller: {
24
+ id: order.seller.id,
25
+ typeOf: order.seller.typeOf,
26
+ name: order.seller.name
27
+ },
24
28
  // mask
25
29
  customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id },
26
- // IOrderへ移行(2022-11-17~)
27
- // confirmationNumber: order.confirmationNumber,
28
30
  orderNumber: order.orderNumber,
29
31
  price: order.price,
30
32
  priceCurrency: order.priceCurrency,
@@ -40,13 +40,14 @@ function createReturnPaymentMethodPotentialActions(params) {
40
40
  email: emailCustomization
41
41
  });
42
42
  const sendActionPurpose = {
43
- // project: order.project,
44
43
  typeOf: order.typeOf,
45
- seller: order.seller,
44
+ seller: {
45
+ id: order.seller.id,
46
+ typeOf: order.seller.typeOf,
47
+ name: order.seller.name
48
+ },
46
49
  // mask
47
50
  customer: (0, order_1.createMaskedCustomer)(order, { noProfile: true }),
48
- // IOrderへ移行(2022-11-17~)
49
- // confirmationNumber: order.confirmationNumber,
50
51
  orderNumber: order.orderNumber,
51
52
  price: order.price,
52
53
  priceCurrency: order.priceCurrency,
@@ -75,6 +76,20 @@ function createReturnPaymentMethodActions(params) {
75
76
  return __awaiter(this, void 0, void 0, function* () {
76
77
  const order = params.order;
77
78
  const returnPaymentMethodActions = [];
79
+ const returnPaymentMethodPurpose = {
80
+ typeOf: order.typeOf,
81
+ seller: {
82
+ id: order.seller.id,
83
+ typeOf: order.seller.typeOf,
84
+ name: order.seller.name
85
+ },
86
+ // mask
87
+ customer: (0, order_1.createMaskedCustomer)(order, { noProfile: true }),
88
+ orderNumber: order.orderNumber,
89
+ price: order.price,
90
+ priceCurrency: order.priceCurrency,
91
+ orderDate: order.orderDate
92
+ };
78
93
  // MovieTicket決済以外について返品ポリシーのreturnFeesを適用する(2022-08-10~)
79
94
  const returnFees = params.transaction.object.returnPolicy.returnFees;
80
95
  // ReturnFeesCustomerResponsibilityであれば返金はなし、それ以外は返金する
@@ -104,19 +119,7 @@ function createReturnPaymentMethodActions(params) {
104
119
  id: order.customer.id,
105
120
  name: String(order.customer.name)
106
121
  },
107
- purpose: {
108
- // project: order.project,
109
- typeOf: order.typeOf,
110
- seller: order.seller,
111
- // mask
112
- customer: (0, order_1.createMaskedCustomer)(order, { noProfile: true }),
113
- // IOrderへ移行(2022-11-17~)
114
- // confirmationNumber: order.confirmationNumber,
115
- orderNumber: order.orderNumber,
116
- price: order.price,
117
- priceCurrency: order.priceCurrency,
118
- orderDate: order.orderDate
119
- },
122
+ purpose: returnPaymentMethodPurpose,
120
123
  potentialActions: potentialActionsOnRefund
121
124
  };
122
125
  }))));
@@ -184,13 +187,14 @@ function createReturnPaymentMethodIssuedThroughMovieTicketActions(params) {
184
187
  name: String(order.customer.name)
185
188
  },
186
189
  purpose: {
187
- // project: order.project,
188
190
  typeOf: order.typeOf,
189
- seller: order.seller,
191
+ seller: {
192
+ id: order.seller.id,
193
+ typeOf: order.seller.typeOf,
194
+ name: order.seller.name
195
+ },
190
196
  // mask
191
197
  customer: (0, order_1.createMaskedCustomer)(order, { noProfile: true }),
192
- // IOrderへ移行(2022-11-17~)
193
- // confirmationNumber: order.confirmationNumber,
194
198
  orderNumber: order.orderNumber,
195
199
  price: order.price,
196
200
  priceCurrency: order.priceCurrency,
@@ -51,11 +51,13 @@ function createReturnPointAwardActions(params) {
51
51
  const maskedCustomer = (0, order_1.createMaskedCustomer)(order, { noProfile: true });
52
52
  const purpose = {
53
53
  typeOf: order.typeOf,
54
- seller: order.seller,
54
+ seller: {
55
+ id: order.seller.id,
56
+ typeOf: order.seller.typeOf,
57
+ name: order.seller.name
58
+ },
55
59
  // mask
56
60
  customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id },
57
- // IOrderへ移行(2022-11-17~)
58
- // confirmationNumber: order.confirmationNumber,
59
61
  orderNumber: order.orderNumber,
60
62
  price: order.price,
61
63
  priceCurrency: order.priceCurrency,
@@ -18,13 +18,14 @@ function createSendEmailMessaegActionsOnReturn(params) {
18
18
  return __awaiter(this, void 0, void 0, function* () {
19
19
  const order = params.order;
20
20
  const sendActionPurpose = {
21
- // project: order.project,
22
21
  typeOf: order.typeOf,
23
- seller: order.seller,
22
+ seller: {
23
+ id: order.seller.id,
24
+ typeOf: order.seller.typeOf,
25
+ name: order.seller.name
26
+ },
24
27
  // mask
25
28
  customer: (0, order_1.createMaskedCustomer)(order, { noProfile: true }),
26
- // IOrderへ移行(2022-11-17~)
27
- // confirmationNumber: order.confirmationNumber,
28
29
  orderNumber: order.orderNumber,
29
30
  price: order.price,
30
31
  priceCurrency: order.priceCurrency,
@@ -43,24 +43,28 @@ function createPotentialActions(params) {
43
43
  returnPointAward: returnPointAwardActions,
44
44
  sendEmailMessage: sendEmailMessaegActionsOnReturn
45
45
  };
46
+ const returnOrderObject = {
47
+ typeOf: order.typeOf,
48
+ seller: {
49
+ id: order.seller.id,
50
+ typeOf: order.seller.typeOf,
51
+ name: order.seller.name
52
+ },
53
+ // mask
54
+ customer: (0, order_1.createMaskedCustomer)(order, { noProfile: true }),
55
+ // confirmationNumber: order.confirmationNumber,
56
+ orderNumber: order.orderNumber,
57
+ price: order.price,
58
+ priceCurrency: order.priceCurrency,
59
+ orderDate: order.orderDate,
60
+ dateReturned: params.dateReturned
61
+ };
46
62
  // recipientを最低限の情報に
47
63
  const recipient = Object.assign({ id: order.seller.id, typeOf: order.seller.typeOf }, (order.seller.name !== undefined) ? { name: order.seller.name } : undefined);
48
64
  return {
49
65
  project: order.project,
50
66
  typeOf: factory.actionType.ReturnAction,
51
- object: {
52
- project: order.project,
53
- typeOf: order.typeOf,
54
- seller: order.seller,
55
- // mask
56
- customer: (0, order_1.createMaskedCustomer)(order, { noProfile: true }),
57
- confirmationNumber: order.confirmationNumber,
58
- orderNumber: order.orderNumber,
59
- price: order.price,
60
- priceCurrency: order.priceCurrency,
61
- orderDate: order.orderDate,
62
- dateReturned: params.dateReturned
63
- },
67
+ object: returnOrderObject,
64
68
  // ↓agentは注文のreturnerに反映される
65
69
  agent: {
66
70
  typeOf: params.transaction.agent.typeOf,