@chevre/domain 21.20.0-alpha.8 → 21.20.0

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 (230) hide show
  1. package/example/src/chevre/findTransactionById.ts +21 -0
  2. package/example/src/chevre/importCategoryCodesFromCOA.ts +2 -1
  3. package/example/src/chevre/importOffersFromCOA.ts +2 -1
  4. package/example/src/chevre/migrateActionInstrumentTransactionNumber.ts +93 -0
  5. package/example/src/chevre/migrateDeleteTransactionTasks.ts +119 -0
  6. package/example/src/chevre/migrateEventMakesOfferAvailableAtOrFrom.ts +87 -0
  7. package/example/src/chevre/migrateIAMMemberPOSRoles.ts +3 -2
  8. package/example/src/chevre/migrateOfferAvailableAtOrFrom.ts +63 -0
  9. package/example/src/chevre/{migrateOrderPaymentMethodIdentifier.ts → migrateOrderAcceptedOfferSerialNumber.ts} +18 -19
  10. package/example/src/chevre/onAssetTransactionStatusChanged.ts +36 -0
  11. package/example/src/chevre/retryTasks.ts +39 -0
  12. package/example/src/chevre/searchActions.ts +13 -7
  13. package/example/src/chevre/searchOrderAcceptedOffers.ts +13 -3
  14. package/example/src/chevre/searchOrders.ts +13 -15
  15. package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +28 -0
  16. package/example/src/chevre/sendOrder.ts +37 -0
  17. package/example/src/chevre/transaction/processPlaceOrder.ts +2 -3
  18. package/example/src/verifyToken.ts +44 -0
  19. package/lib/chevre/credentials.d.ts +2 -0
  20. package/lib/chevre/credentials.js +4 -2
  21. package/lib/chevre/errorHandler.js +3 -0
  22. package/lib/chevre/factory/order.d.ts +1 -0
  23. package/lib/chevre/factory/order.js +2 -1
  24. package/lib/chevre/factory/reservedAgentIdentifireNames.js +2 -1
  25. package/lib/chevre/factory/transaction.d.ts +10 -1
  26. package/lib/chevre/repo/acceptedOffer.d.ts +58 -2
  27. package/lib/chevre/repo/acceptedOffer.js +100 -4
  28. package/lib/chevre/repo/accountingReport.d.ts +33 -7
  29. package/lib/chevre/repo/accountingReport.js +157 -5
  30. package/lib/chevre/repo/action.d.ts +32 -8
  31. package/lib/chevre/repo/action.js +114 -54
  32. package/lib/chevre/repo/event.d.ts +20 -0
  33. package/lib/chevre/repo/event.js +22 -0
  34. package/lib/chevre/repo/member.d.ts +8 -1
  35. package/lib/chevre/repo/member.js +7 -1
  36. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +2 -1
  37. package/lib/chevre/repo/mongoose/schemas/action.d.ts +1 -1
  38. package/lib/chevre/repo/mongoose/schemas/action.js +25 -11
  39. package/lib/chevre/repo/mongoose/schemas/order.d.ts +1 -1
  40. package/lib/chevre/repo/mongoose/schemas/order.js +38 -11
  41. package/lib/chevre/repo/offer.d.ts +42 -0
  42. package/lib/chevre/repo/offer.js +35 -0
  43. package/lib/chevre/repo/order.js +43 -20
  44. package/lib/chevre/repo/orderInTransaction.d.ts +44 -0
  45. package/lib/chevre/repo/orderInTransaction.js +164 -0
  46. package/lib/chevre/repo/paymentServiceProvider.js +2 -1
  47. package/lib/chevre/repo/person.js +1 -4
  48. package/lib/chevre/repo/task.d.ts +26 -3
  49. package/lib/chevre/repo/task.js +61 -46
  50. package/lib/chevre/repo/transaction.d.ts +2 -2
  51. package/lib/chevre/repo/transaction.js +13 -36
  52. package/lib/chevre/repository.d.ts +5 -0
  53. package/lib/chevre/repository.js +15 -2
  54. package/lib/chevre/service/aggregation/event/importFromCOA.js +5 -5
  55. package/lib/chevre/service/assetTransaction/pay/factory.js +1 -6
  56. package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.d.ts +9 -0
  57. package/lib/chevre/service/assetTransaction/pay/potentialActions/createPayObjectServiceOutput.js +143 -0
  58. package/lib/chevre/service/assetTransaction/pay/potentialActions.d.ts +11 -3
  59. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +4 -165
  60. package/lib/chevre/service/assetTransaction/pay.d.ts +21 -6
  61. package/lib/chevre/service/assetTransaction/pay.js +64 -23
  62. package/lib/chevre/service/assetTransaction/reserve/factory.js +11 -14
  63. package/lib/chevre/service/assetTransaction/reserveCOA.d.ts +19 -0
  64. package/lib/chevre/service/assetTransaction/reserveCOA.js +46 -0
  65. package/lib/chevre/service/code.js +1 -1
  66. package/lib/chevre/service/delivery.js +2 -2
  67. package/lib/chevre/service/event/createEvent.js +1 -1
  68. package/lib/chevre/service/event.js +16 -24
  69. package/lib/chevre/service/moneyTransfer.js +1 -1
  70. package/lib/chevre/service/notification.js +71 -66
  71. package/lib/chevre/service/offer/any.d.ts +35 -0
  72. package/lib/chevre/service/offer/any.js +67 -0
  73. package/lib/chevre/service/offer/event/authorize.d.ts +7 -0
  74. package/lib/chevre/service/offer/event/authorize.js +27 -17
  75. package/lib/chevre/service/offer/event/cancel.d.ts +2 -0
  76. package/lib/chevre/service/offer/event/cancel.js +13 -1
  77. package/lib/chevre/service/offer/event/factory.d.ts +1 -1
  78. package/lib/chevre/service/offer/event/factory.js +11 -22
  79. package/lib/chevre/service/offer/event/importFromCOA.js +6 -8
  80. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  81. package/lib/chevre/service/offer/event/voidTransaction.js +24 -7
  82. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +54 -0
  83. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +138 -0
  84. package/lib/chevre/service/offer/eventServiceByCOA/cancel.d.ts +39 -0
  85. package/lib/chevre/service/offer/eventServiceByCOA/cancel.js +59 -0
  86. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.d.ts +25 -0
  87. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +165 -0
  88. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +10 -23
  89. package/lib/chevre/service/offer/eventServiceByCOA.d.ts +4 -89
  90. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -292
  91. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +10 -1
  92. package/lib/chevre/service/offer/moneyTransfer/authorize.js +49 -3
  93. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +1 -1
  94. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.d.ts +2 -0
  95. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +47 -2
  96. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +1 -1
  97. package/lib/chevre/service/offer/product/factory.js +2 -5
  98. package/lib/chevre/service/offer/product.d.ts +2 -0
  99. package/lib/chevre/service/offer/product.js +11 -23
  100. package/lib/chevre/service/order/confirmPayTransaction.d.ts +3 -1
  101. package/lib/chevre/service/order/confirmPayTransaction.js +5 -5
  102. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +1 -1
  103. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +12 -1
  104. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +206 -7
  105. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  106. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.d.ts +1 -1
  107. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +51 -53
  108. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +1 -1
  109. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +10 -25
  110. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +16 -0
  111. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +91 -0
  112. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +8 -0
  113. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +37 -0
  114. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +12 -0
  115. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +115 -0
  116. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +19 -1
  117. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.d.ts +8 -0
  118. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +41 -0
  119. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +6 -10
  120. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +116 -92
  121. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +4 -1
  122. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +81 -84
  123. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  124. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +18 -15
  125. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +62 -1
  126. package/lib/chevre/service/order/onOrderStatusChanged.d.ts +3 -1
  127. package/lib/chevre/service/order/onOrderStatusChanged.js +5 -1
  128. package/lib/chevre/service/order/placeOrder.d.ts +3 -1
  129. package/lib/chevre/service/order/placeOrder.js +157 -50
  130. package/lib/chevre/service/order/returnOrder.js +25 -16
  131. package/lib/chevre/service/order/sendOrder.d.ts +5 -0
  132. package/lib/chevre/service/order/sendOrder.js +67 -33
  133. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  134. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.d.ts +3 -1
  135. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +15 -9
  136. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.d.ts +3 -1
  137. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +8 -5
  138. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +2 -2
  139. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  140. package/lib/chevre/service/payment/any.d.ts +6 -5
  141. package/lib/chevre/service/payment/any.js +3 -2
  142. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  143. package/lib/chevre/service/payment/creditCard.js +62 -68
  144. package/lib/chevre/service/payment/faceToFace.d.ts +1 -5
  145. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +0 -2
  146. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.js +1 -0
  147. package/lib/chevre/service/payment/movieTicket/validation.d.ts +0 -2
  148. package/lib/chevre/service/payment/movieTicket.d.ts +1 -7
  149. package/lib/chevre/service/payment/movieTicket.js +1 -1
  150. package/lib/chevre/service/payment/paymentCard.d.ts +1 -3
  151. package/lib/chevre/service/payment/paymentCard.js +6 -6
  152. package/lib/chevre/service/payment.d.ts +5 -0
  153. package/lib/chevre/service/payment.js +40 -5
  154. package/lib/chevre/service/product.js +1 -1
  155. package/lib/chevre/service/reserve/cancelReservation.js +2 -2
  156. package/lib/chevre/service/reserve/checkInReservation.d.ts +1 -3
  157. package/lib/chevre/service/reserve/checkInReservation.js +6 -5
  158. package/lib/chevre/service/reserve/confirmReservation.js +1 -1
  159. package/lib/chevre/service/reserve/factory.js +0 -8
  160. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.d.ts +1 -1
  161. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +4 -4
  162. package/lib/chevre/service/reserve/searchByOrder.js +2 -1
  163. package/lib/chevre/service/reserve/useReservation.d.ts +1 -3
  164. package/lib/chevre/service/reserve/useReservation.js +10 -9
  165. package/lib/chevre/service/reserve/verifyToken4reservation.js +2 -0
  166. package/lib/chevre/service/task/confirmMoneyTransfer.js +4 -4
  167. package/lib/chevre/service/task/confirmPayTransaction.js +2 -1
  168. package/lib/chevre/service/task/confirmRegisterServiceTransaction.d.ts +1 -1
  169. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +30 -8
  170. package/lib/chevre/service/task/confirmReserveTransaction.d.ts +6 -1
  171. package/lib/chevre/service/task/confirmReserveTransaction.js +176 -29
  172. package/lib/chevre/service/task/createAccountingReport.d.ts +6 -0
  173. package/lib/chevre/service/task/createAccountingReport.js +80 -0
  174. package/lib/chevre/service/task/importOffersFromCOA.js +2 -1
  175. package/lib/chevre/service/task/onAuthorizationCreated.js +0 -1
  176. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +7 -7
  177. package/lib/chevre/service/task/pay.js +6 -0
  178. package/lib/chevre/service/task/placeOrder.js +9 -10
  179. package/lib/chevre/service/task/returnOrder.js +0 -3
  180. package/lib/chevre/service/task/returnPayTransaction.js +1 -1
  181. package/lib/chevre/service/task/returnReserveTransaction.js +3 -2
  182. package/lib/chevre/service/task/sendOrder.js +8 -4
  183. package/lib/chevre/service/task/useReservation.js +1 -1
  184. package/lib/chevre/service/task/voidReserveTransaction.js +8 -12
  185. package/lib/chevre/service/transaction/deleteTransaction.js +1 -1
  186. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +2 -18
  187. package/lib/chevre/service/transaction/moneyTransfer.js +7 -6
  188. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +2 -2
  189. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +17 -20
  190. package/lib/chevre/service/transaction/placeOrder.js +2 -1
  191. package/lib/chevre/service/transaction/placeOrderInProgress/confirm.d.ts +51 -0
  192. package/lib/chevre/service/transaction/placeOrderInProgress/confirm.js +268 -0
  193. package/lib/chevre/service/transaction/placeOrderInProgress/factory.d.ts +1 -1
  194. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +3 -2
  195. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  196. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +22 -44
  197. package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.d.ts +14 -0
  198. package/lib/chevre/service/transaction/placeOrderInProgress/publishCode.js +41 -0
  199. package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.d.ts +18 -0
  200. package/lib/chevre/service/transaction/placeOrderInProgress/publishConfirmationNumberIfNotExist.js +42 -0
  201. package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.d.ts +23 -0
  202. package/lib/chevre/service/transaction/placeOrderInProgress/publishOrderNumberIfNotExist.js +46 -0
  203. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +34 -37
  204. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +3 -1
  205. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +13 -4
  206. package/lib/chevre/service/transaction/placeOrderInProgress/start.d.ts +19 -0
  207. package/lib/chevre/service/transaction/placeOrderInProgress/start.js +46 -0
  208. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.d.ts +26 -0
  209. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateStartRequest.js +109 -0
  210. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +10 -23
  211. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +20 -1
  212. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +11 -73
  213. package/lib/chevre/service/transaction/placeOrderInProgress.js +13 -286
  214. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +1 -2
  215. package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +0 -1
  216. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +8 -3
  217. package/lib/chevre/service/transaction/returnOrder/preStart.js +78 -50
  218. package/lib/chevre/service/transaction/returnOrder.js +3 -10
  219. package/lib/chevre/service.js +0 -10
  220. package/lib/chevre/settings.d.ts +7 -3
  221. package/lib/chevre/settings.js +13 -4
  222. package/package.json +5 -9
  223. package/example/src/chevre/cleanAccountingReports.ts +0 -57
  224. package/example/src/chevre/migratePayTransactionPaymentMethodIdentifier.ts +0 -78
  225. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.d.ts +0 -11
  226. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.js +0 -30
  227. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.d.ts +0 -7
  228. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +0 -82
  229. package/lib/chevre/service/util.d.ts +0 -19
  230. package/lib/chevre/service/util.js +0 -126
@@ -11,29 +11,64 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.refund = exports.voidPayment = exports.pay = void 0;
13
13
  const factory = require("../factory");
14
+ const pay_1 = require("./assetTransaction/pay");
15
+ const potentialActions_1 = require("./assetTransaction/pay/potentialActions");
14
16
  const CreditCardPaymentService = require("./payment/creditCard");
15
17
  const FaceToFacePaymentService = require("./payment/faceToFace");
16
18
  const MovieTicketPaymentService = require("./payment/movieTicket");
17
19
  const PaymentCardPaymentService = require("./payment/paymentCard");
20
+ function payTask2payActionAttributes(params) {
21
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
22
+ let transaction;
23
+ if (typeof params.object.paymentMethod.paymentMethodId === 'string') {
24
+ transaction = yield repos.assetTransaction.findByTransactionNumber({
25
+ typeOf: factory.assetTransactionType.Pay,
26
+ transactionNumber: params.object.paymentMethod.paymentMethodId
27
+ });
28
+ if (transaction.status !== factory.transactionStatusType.Confirmed) {
29
+ throw new factory.errors.Argument('object.paymentMethod.paymentMethodId', `invalid transaction status: ${transaction.transactionNumber} ${transaction.status}`);
30
+ }
31
+ }
32
+ else {
33
+ throw new factory.errors.ArgumentNull('object.paymentMethod.paymentMethodId');
34
+ }
35
+ const order = yield (0, pay_1.fixOrderAsPurpose)({ potentialActions: { pay: { purpose: params.purpose } } }, transaction)(repos);
36
+ const payActions = (0, potentialActions_1.createPayActions)({
37
+ transaction: transaction,
38
+ potentialActions: { pay: { purpose: params.purpose } },
39
+ order
40
+ });
41
+ return payActions[0];
42
+ });
43
+ }
18
44
  /**
19
45
  * 決済確定
20
46
  */
21
47
  function pay(params) {
22
48
  return (repos) => __awaiter(this, void 0, void 0, function* () {
23
49
  var _a;
24
- const paymentServiceType = (_a = params.object[0]) === null || _a === void 0 ? void 0 : _a.typeOf;
50
+ let payActionAttributes;
51
+ if (params.typeOf === factory.actionType.PayAction) {
52
+ // タスクにPayActionそのものが指定されていればそのまま処理
53
+ payActionAttributes = params;
54
+ }
55
+ else {
56
+ // 最適化されたタスクに対応(2024-01-19~)
57
+ payActionAttributes = yield payTask2payActionAttributes(params)(repos);
58
+ }
59
+ const paymentServiceType = (_a = payActionAttributes.object[0]) === null || _a === void 0 ? void 0 : _a.typeOf;
25
60
  switch (paymentServiceType) {
26
61
  case factory.service.paymentService.PaymentServiceType.FaceToFace:
27
- yield FaceToFacePaymentService.payFaceToFace(params)(repos);
62
+ yield FaceToFacePaymentService.payFaceToFace(payActionAttributes)(repos);
28
63
  break;
29
64
  case factory.service.paymentService.PaymentServiceType.PaymentCard:
30
- yield PaymentCardPaymentService.payPaymentCard(params)(repos);
65
+ yield PaymentCardPaymentService.payPaymentCard(payActionAttributes)(repos);
31
66
  break;
32
67
  case factory.service.paymentService.PaymentServiceType.CreditCard:
33
- yield CreditCardPaymentService.payCreditCard(params)(repos);
68
+ yield CreditCardPaymentService.payCreditCard(payActionAttributes)(repos);
34
69
  break;
35
70
  case factory.service.paymentService.PaymentServiceType.MovieTicket:
36
- yield MovieTicketPaymentService.payMovieTicket(params)(repos);
71
+ yield MovieTicketPaymentService.payMovieTicket(payActionAttributes)(repos);
37
72
  break;
38
73
  default:
39
74
  throw new factory.errors.NotImplemented(`Payment service '${paymentServiceType}' not implemented`);
@@ -42,7 +42,7 @@ function registerService(params) {
42
42
  }
43
43
  // アクション完了
44
44
  const actionResult = {};
45
- yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: actionResult });
45
+ yield repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
46
46
  yield onRegistered(actionAttributes, serviceOutput)(repos);
47
47
  })));
48
48
  });
@@ -148,7 +148,7 @@ function cancelPengindIfNotYet(params, __) {
148
148
  // } : undefined
149
149
  // canceledReservationId: canceledReservation?.id
150
150
  };
151
- yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: actionResult });
151
+ yield repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
152
152
  }
153
153
  return { reserveTransaction };
154
154
  });
@@ -288,7 +288,7 @@ function cancelReservation(actionAttributesList) {
288
288
  } : undefined
289
289
  // canceledReservationId: canceledReservation?.id
290
290
  );
291
- yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: actionResult });
291
+ yield repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
292
292
  let canceledReservations = [];
293
293
  if (actionAttributes.object.typeOf === factory.reservationType.ReservationPackage) {
294
294
  const reservationNumber = actionAttributes.object.reservationNumber;
@@ -30,9 +30,7 @@ interface ICheckInReservationParams {
30
30
  code: string;
31
31
  };
32
32
  }
33
- export declare function checkInReservation(params: ICheckInReservationParams & {
34
- reserveIfNotYet: boolean;
35
- }): (repos: {
33
+ export declare function checkInReservation(params: ICheckInReservationParams): (repos: {
36
34
  action: ActionRepo;
37
35
  assetTransaction: AssetTransactionRepo;
38
36
  event: EventRepo;
@@ -19,10 +19,7 @@ function checkInReservation(params) {
19
19
  return (repos) => __awaiter(this, void 0, void 0, function* () {
20
20
  const now = new Date();
21
21
  // confirmReservationが間に合わない可能性を考慮する(2023-06-01~)
22
- debug('reserveIfNotYet?', params.reserveIfNotYet, 'ids:', params.object.ids, 'reservationNumbers:', params.object.reservationNumbers);
23
- if (params.reserveIfNotYet === true) {
24
- yield reserveIfNotYet(params)(repos);
25
- }
22
+ yield reserveIfNotYet(params)(repos);
26
23
  // 発券処理(Array対応)
27
24
  let checkedInReservationIds;
28
25
  if (Array.isArray(params.object.ids) && params.object.ids.length > 0) {
@@ -100,7 +97,11 @@ function reserveIfNotYet(params) {
100
97
  reservationStatus: (typeof reserveTransaction.object.reservationStatus === 'string')
101
98
  ? reserveTransaction.object.reservationStatus
102
99
  : factory.reservationStatusType.ReservationPending,
103
- reservationFor: reserveTransaction.object.reservationFor
100
+ reservationFor: {
101
+ id: String(reserveTransaction.object.reservationFor.id),
102
+ typeOf: reserveTransaction.object.reservationFor.typeOf,
103
+ optimized: true
104
+ } // optimize(2024-01-24~)
104
105
  },
105
106
  agent: reserveTransaction.project,
106
107
  purpose: { typeOf: reserveTransaction.typeOf, id: reserveTransaction.id }
@@ -138,7 +138,7 @@ function reserveIfNotYet(params, options) {
138
138
  }
139
139
  // アクション完了
140
140
  const actionResult = {};
141
- yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: actionResult });
141
+ yield repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
142
142
  }
143
143
  });
144
144
  }
@@ -3,17 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NUM_TRY_INFORM_RESERVATION = exports.maskUnderName = void 0;
4
4
  const MASKED_PROFILE = '****';
5
5
  function maskUnderName(reservation) {
6
- // 予約後を隠蔽(2022-12-24~)
7
- // const underNameIdentifiers: factory.propertyValue.IPropertyValue<string>[] | undefined =
8
- // (Array.isArray(reservation.underName?.identifier))
9
- // ? reservation.underName?.identifier.filter((p) => {
10
- // return !RESERVED_AGENT_IDENTIFIER_NAMES.includes(p.name);
11
- // })
12
- // : undefined;
13
6
  var _a;
14
7
  const underName = (typeof ((_a = reservation.underName) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
15
8
  ? Object.assign(Object.assign({}, reservation.underName), { email: MASKED_PROFILE, telephone: MASKED_PROFILE, name: MASKED_PROFILE, familyName: MASKED_PROFILE, givenName: MASKED_PROFILE,
16
- // ... (Array.isArray(underNameIdentifiers)) ? { identifier: underNameIdentifiers } : undefined,
17
9
  // identifierも隠蔽(2022-12-27~)
18
10
  identifier: [] }) : undefined;
19
11
  return Object.assign(Object.assign({}, reservation), (underName !== undefined) ? { underName } : undefined);
@@ -8,7 +8,7 @@ export type IUseReservationAction = factory.action.consume.use.reservation.IActi
8
8
  /**
9
9
  * 予約使用
10
10
  */
11
- export declare function onReservationUsed(action: IUseReservationAction, attendedReservation: IEventReservation): (repos: {
11
+ export declare function onReservationUsed(attendedReservation: IEventReservation): (repos: {
12
12
  task: TaskRepo;
13
13
  }) => Promise<void>;
14
14
  export {};
@@ -21,7 +21,7 @@ const informReservations = settings_1.settings.onReservationStatusChanged.inform
21
21
  /**
22
22
  * 予約使用
23
23
  */
24
- function onReservationUsed(action, attendedReservation) {
24
+ function onReservationUsed(attendedReservation) {
25
25
  // tslint:disable-next-line:max-func-body-length
26
26
  return (repos) => __awaiter(this, void 0, void 0, function* () {
27
27
  const tasks = [];
@@ -54,7 +54,7 @@ function onReservationUsed(action, attendedReservation) {
54
54
  typeOf: factory.actionType.InformAction
55
55
  };
56
56
  return {
57
- project: action.project,
57
+ project: attendedReservation.project,
58
58
  name: factory.taskName.TriggerWebhook,
59
59
  status: factory.taskStatus.Ready,
60
60
  runsAt: informTaskRunsAt,
@@ -67,9 +67,9 @@ function onReservationUsed(action, attendedReservation) {
67
67
  }
68
68
  // projectを限定する(2023-02-21~)
69
69
  // 使用アクション集計タスクを作成する(冗長な作成を避ける)
70
- if (settings_1.settings.useAggregateEntranceGateProjects.includes(action.project.id)) {
70
+ if (settings_1.settings.useAggregateEntranceGateProjects.includes(attendedReservation.project.id)) {
71
71
  const readyAggregateUseActionsTaskDoc = yield repos.task.taskModel.findOne({
72
- 'project.id': { $eq: action.project.id },
72
+ 'project.id': { $eq: attendedReservation.project.id },
73
73
  name: { $eq: factory.taskName.AggregateUseActionsOnEvent },
74
74
  status: { $eq: factory.taskStatus.Ready },
75
75
  'data.id': { $exists: true, $eq: attendedReservation.reservationFor.id }
@@ -16,7 +16,8 @@ const factory = require("../../factory");
16
16
  const credentials_1 = require("../../credentials");
17
17
  const coaAuthClient = new COA.auth.RefreshToken({
18
18
  endpoint: credentials_1.credentials.coa.endpoint,
19
- refreshToken: credentials_1.credentials.coa.refreshToken
19
+ refreshToken: credentials_1.credentials.coa.refreshToken,
20
+ useFetch: credentials_1.credentials.coa.useFetch
20
21
  });
21
22
  function searchByOrder(params) {
22
23
  // tslint:disable-next-line:max-func-body-length
@@ -4,7 +4,6 @@ import type { MongoRepository as AssetTransactionRepo } from '../../repo/assetTr
4
4
  import type { MongoRepository as OrderRepo } from '../../repo/order';
5
5
  import type { MongoRepository as ReservationRepo } from '../../repo/reservation';
6
6
  import type { MongoRepository as TaskRepo } from '../../repo/task';
7
- import { IUseReservationAction } from './potentialActions/onReservationUsed';
8
7
  /**
9
8
  * 予約使用
10
9
  */
@@ -26,11 +25,10 @@ export declare function useReservation(params: {
26
25
  identifier?: string;
27
26
  };
28
27
  verifyToken: boolean;
29
- reserveIfNotYet: boolean;
30
28
  }): (repos: {
31
29
  action: ActionRepo;
32
30
  assetTransaction: AssetTransactionRepo;
33
31
  order: OrderRepo;
34
32
  reservation: ReservationRepo;
35
33
  task: TaskRepo;
36
- }) => Promise<IUseReservationAction>;
34
+ }) => Promise<void>;
@@ -38,10 +38,7 @@ function useReservation(params) {
38
38
  }
39
39
  }
40
40
  // confirmReservationが間に合わない可能性を考慮する(2023-06-01~)
41
- debug('reserveIfNotYet?', params.reserveIfNotYet, 'id:', params.object.id);
42
- if (params.reserveIfNotYet === true) {
43
- yield reserveIfNotYet({ object: params.object })(repos);
44
- }
41
+ yield reserveIfNotYet({ object: params.object })(repos);
45
42
  // 予約検索
46
43
  // 取得属性最適化(2023-01-30~)
47
44
  const reservation = yield repos.reservation.findById({
@@ -68,7 +65,7 @@ function useReservation(params) {
68
65
  }
69
66
  }
70
67
  : undefined);
71
- let action = yield repos.action.start(actionAttributes);
68
+ const action = yield repos.action.start(actionAttributes);
72
69
  // ひとまず予約数:1に限定する
73
70
  if (actionAttributes.object.length !== 1) {
74
71
  throw new factory.errors.Argument('object', 'number of using reservations must be 1');
@@ -88,9 +85,9 @@ function useReservation(params) {
88
85
  throw error;
89
86
  }
90
87
  // アクション完了
91
- action = (yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: {} }));
92
- yield (0, onReservationUsed_1.onReservationUsed)(action, attendedReservation)({ task: repos.task });
93
- return action;
88
+ yield repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: {} });
89
+ yield (0, onReservationUsed_1.onReservationUsed)(attendedReservation)({ task: repos.task });
90
+ // return action;
94
91
  });
95
92
  }
96
93
  exports.useReservation = useReservation;
@@ -120,7 +117,11 @@ function reserveIfNotYet(params) {
120
117
  reservationStatus: (typeof reserveTransaction.object.reservationStatus === 'string')
121
118
  ? reserveTransaction.object.reservationStatus
122
119
  : factory.reservationStatusType.ReservationPending,
123
- reservationFor: reserveTransaction.object.reservationFor
120
+ reservationFor: {
121
+ id: String(reserveTransaction.object.reservationFor.id),
122
+ typeOf: reserveTransaction.object.reservationFor.typeOf,
123
+ optimized: true
124
+ } // optimize(2024-01-24~)
124
125
  },
125
126
  agent: reserveTransaction.project,
126
127
  purpose: { typeOf: reserveTransaction.typeOf, id: reserveTransaction.id }
@@ -33,6 +33,8 @@ function verifyToken4reservation(params) {
33
33
  });
34
34
  // ステータス検証
35
35
  switch (order.orderStatus) {
36
+ case factory.orderStatus.OrderProcessing: // OrderProcessingも許可(2024-01-10~)
37
+ case factory.orderStatus.OrderInTransit: // OrderInTransitも許可(2024-01-12~)
36
38
  case factory.orderStatus.OrderDelivered:
37
39
  break;
38
40
  default:
@@ -12,17 +12,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.call = void 0;
13
13
  const action_1 = require("../../repo/action");
14
14
  const assetTransaction_1 = require("../../repo/assetTransaction");
15
+ const task_1 = require("../../repo/task");
15
16
  const MoneyTransferOfferService = require("../offer/moneyTransfer");
16
17
  /**
17
18
  * タスク実行関数
18
19
  */
19
20
  function call(data) {
20
21
  return (settings) => __awaiter(this, void 0, void 0, function* () {
21
- const actionRepo = new action_1.MongoRepository(settings.connection);
22
- const assetTransactionRepo = new assetTransaction_1.MongoRepository(settings.connection);
23
22
  yield MoneyTransferOfferService.settleTransaction(data)({
24
- action: actionRepo,
25
- assetTransaction: assetTransactionRepo
23
+ action: new action_1.MongoRepository(settings.connection),
24
+ assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
25
+ task: new task_1.MongoRepository(settings.connection)
26
26
  });
27
27
  });
28
28
  }
@@ -20,6 +20,7 @@ const order_1 = require("../../repo/order");
20
20
  const project_1 = require("../../repo/project");
21
21
  const task_1 = require("../../repo/task");
22
22
  const transaction_1 = require("../../repo/transaction");
23
+ const settings_1 = require("../../settings");
23
24
  const confirmPayTransaction_1 = require("../order/confirmPayTransaction");
24
25
  /**
25
26
  * タスク実行関数
@@ -29,7 +30,7 @@ function call(data) {
29
30
  if (settings.redisClient === undefined) {
30
31
  throw new factory.errors.Argument('settings', 'redisClient required');
31
32
  }
32
- yield (0, confirmPayTransaction_1.confirmPayTransaction)(data)({
33
+ yield (0, confirmPayTransaction_1.confirmPayTransaction)(data, { minimizePotentialActions: settings_1.USE_MINIMIZED_PAY_TASK })({
33
34
  acceptedOffer: new acceptedOffer_1.MongoRepository(settings.connection),
34
35
  action: new action_1.MongoRepository(settings.connection),
35
36
  assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
@@ -12,6 +12,6 @@ export declare function confirmRegisterServiceTransaction(params: factory.action
12
12
  assetTransaction: AssetTransactionRepo;
13
13
  task: TaskRepo;
14
14
  }) => Promise<void>;
15
- export declare function onRegistered(__: factory.action.interact.confirm.registerService.IAttributes): (repos: {
15
+ export declare function onRegistered(params: factory.action.interact.confirm.registerService.IAttributes): (repos: {
16
16
  task: TaskRepo;
17
17
  }) => Promise<void>;
@@ -78,22 +78,44 @@ function confirmRegisterServiceTransaction(params) {
78
78
  }
79
79
  // アクション完了
80
80
  const result = {};
81
- yield repos.action.complete({ typeOf: confirmActionAttributes.typeOf, id: action.id, result: result });
81
+ yield repos.action.completeWithVoid({ typeOf: confirmActionAttributes.typeOf, id: action.id, result: result });
82
82
  yield onRegistered(confirmActionAttributes)(repos);
83
83
  });
84
84
  }
85
85
  exports.confirmRegisterServiceTransaction = confirmRegisterServiceTransaction;
86
- function onRegistered(__) {
86
+ function onRegistered(params) {
87
87
  return (repos) => __awaiter(this, void 0, void 0, function* () {
88
88
  const taskAttributes = [];
89
- // 次のメンバーシップ注文タスクを作成
90
- // 廃止(2023-08-18~)
91
- // const orderProgramMembershipTasks = actionAttributes.potentialActions?.orderProgramMembership;
92
- // if (Array.isArray(orderProgramMembershipTasks)) {
93
- // taskAttributes.push(...orderProgramMembershipTasks);
94
- // }
95
89
  // タスク保管
96
90
  yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
91
+ if (params.purpose.typeOf === factory.order.OrderType.Order) {
92
+ // タスク冪等作成
93
+ const onAssetTransactionStatusChangedTaskData = {
94
+ project: { id: params.project.id, typeOf: factory.organizationType.Project },
95
+ object: {
96
+ typeOf: params.object.typeOf,
97
+ transactionNumber: params.object.transactionNumber,
98
+ status: factory.transactionStatusType.Confirmed
99
+ },
100
+ purpose: {
101
+ confirmationNumber: '',
102
+ orderNumber: params.purpose.orderNumber,
103
+ typeOf: factory.order.OrderType.Order
104
+ },
105
+ useOnOrderStatusChanged: true
106
+ };
107
+ const onAssetTransactionStatusChangedTask = {
108
+ project: { id: params.project.id, typeOf: factory.organizationType.Project },
109
+ name: factory.taskName.OnAssetTransactionStatusChanged,
110
+ status: factory.taskStatus.Ready,
111
+ runsAt: new Date(),
112
+ remainingNumberOfTries: 10,
113
+ numberOfTried: 0,
114
+ executionResults: [],
115
+ data: onAssetTransactionStatusChangedTaskData
116
+ };
117
+ yield repos.task.createOnAssetTransactionStatusChangedTaskIfNotExist(onAssetTransactionStatusChangedTask, { emitImmediately: true });
118
+ }
97
119
  });
98
120
  }
99
121
  exports.onRegistered = onRegistered;
@@ -1,5 +1,6 @@
1
1
  import { IOperation } from '../task';
2
2
  import * as factory from '../../factory';
3
+ import { MongoRepository as AcceptedOfferRepo } from '../../repo/acceptedOffer';
3
4
  import { MongoRepository as ActionRepo } from '../../repo/action';
4
5
  import { MongoRepository as AssetTransactionRepo } from '../../repo/assetTransaction';
5
6
  import { MongoRepository as OrderRepo } from '../../repo/order';
@@ -12,7 +13,11 @@ export declare function call(data: factory.task.IData<factory.taskName.ConfirmRe
12
13
  /**
13
14
  * 予約を確定する
14
15
  */
15
- export declare function confirmReserveTransaction(params: factory.action.interact.confirm.reservation.IAttributes<factory.service.webAPI.Identifier>): (repos: {
16
+ export declare function confirmReserveTransaction(params: factory.task.IData<factory.taskName.ConfirmReserveTransaction>, options: {
17
+ sendOrder: boolean;
18
+ useOnOrderStatusChanged: boolean;
19
+ }): (repos: {
20
+ acceptedOffer: AcceptedOfferRepo;
16
21
  action: ActionRepo;
17
22
  assetTransaction: AssetTransactionRepo;
18
23
  order: OrderRepo;