@chevre/domain 24.0.0-alpha.3 → 24.0.0-alpha.30

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 (310) hide show
  1. package/lib/chevre/errorHandler.js +1 -1
  2. package/lib/chevre/repo/accountTitle.d.ts +7 -3
  3. package/lib/chevre/repo/accountTransaction.js +1 -2
  4. package/lib/chevre/repo/action/acceptCOAOffer.d.ts +23 -0
  5. package/lib/chevre/repo/action/acceptCOAOffer.js +62 -0
  6. package/lib/chevre/repo/action/acceptPay.d.ts +37 -0
  7. package/lib/chevre/repo/action/acceptPay.js +87 -0
  8. package/lib/chevre/repo/action/actionProcess.d.ts +145 -0
  9. package/lib/chevre/repo/action/actionProcess.js +788 -0
  10. package/lib/chevre/repo/action/authorizeInvoice.d.ts +26 -0
  11. package/lib/chevre/repo/action/authorizeInvoice.js +49 -0
  12. package/lib/chevre/repo/action/authorizeMoneyTransferOffer.d.ts +40 -0
  13. package/lib/chevre/repo/action/authorizeMoneyTransferOffer.js +61 -0
  14. package/lib/chevre/repo/action/authorizeOffer.d.ts +21 -0
  15. package/lib/chevre/repo/action/authorizeOffer.js +85 -0
  16. package/lib/chevre/repo/action/authorizePaymentMethod.d.ts +36 -0
  17. package/lib/chevre/repo/action/authorizePaymentMethod.js +50 -0
  18. package/lib/chevre/repo/action/authorizeProductOffer.d.ts +26 -0
  19. package/lib/chevre/repo/action/authorizeProductOffer.js +52 -0
  20. package/lib/chevre/repo/action/checkMovieTicket.d.ts +111 -0
  21. package/lib/chevre/repo/action/checkMovieTicket.js +200 -0
  22. package/lib/chevre/repo/action/checkThing.d.ts +8 -0
  23. package/lib/chevre/repo/action/checkThing.js +13 -0
  24. package/lib/chevre/repo/action.d.ts +18 -258
  25. package/lib/chevre/repo/action.js +308 -1216
  26. package/lib/chevre/repo/aggregateAction.d.ts +102 -0
  27. package/lib/chevre/repo/aggregateAction.js +378 -0
  28. package/lib/chevre/repo/aggregateOffer.d.ts +7 -3
  29. package/lib/chevre/repo/assetTransaction.d.ts +46 -25
  30. package/lib/chevre/repo/categoryCode.d.ts +8 -3
  31. package/lib/chevre/repo/comment.d.ts +7 -3
  32. package/lib/chevre/repo/creativeWork.d.ts +8 -7
  33. package/lib/chevre/repo/customer.d.ts +8 -3
  34. package/lib/chevre/repo/event.d.ts +11 -23
  35. package/lib/chevre/repo/event.js +22 -23
  36. package/lib/chevre/repo/eventSeries.d.ts +10 -4
  37. package/lib/chevre/repo/identity.d.ts +12 -3
  38. package/lib/chevre/repo/identityProvider.d.ts +7 -18
  39. package/lib/chevre/repo/issuer.d.ts +8 -8
  40. package/lib/chevre/repo/member.d.ts +7 -3
  41. package/lib/chevre/repo/merchantReturnPolicy.d.ts +7 -3
  42. package/lib/chevre/repo/message.js +1 -1
  43. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.d.ts +4 -3
  44. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -3
  45. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +4 -3
  46. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +5 -4
  47. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +3 -2
  48. package/lib/chevre/repo/mongoose/schemas/action.d.ts +4 -3
  49. package/lib/chevre/repo/mongoose/schemas/actionRecipe.d.ts +4 -3
  50. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +5 -4
  51. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.d.ts +3 -2
  52. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.d.ts +4 -3
  53. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.d.ts +3 -2
  54. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.d.ts +4 -3
  55. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -3
  56. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +4 -3
  57. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +4 -3
  58. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +5 -4
  59. package/lib/chevre/repo/mongoose/schemas/civicStructure.d.ts +3 -2
  60. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +4 -3
  61. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +5 -4
  62. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +5 -4
  63. package/lib/chevre/repo/mongoose/schemas/customerType.d.ts +5 -4
  64. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +4 -3
  65. package/lib/chevre/repo/mongoose/schemas/event.d.ts +3 -2
  66. package/lib/chevre/repo/mongoose/schemas/eventOffer.d.ts +4 -3
  67. package/lib/chevre/repo/mongoose/schemas/eventSeries.d.ts +3 -2
  68. package/lib/chevre/repo/mongoose/schemas/identity.d.ts +4 -3
  69. package/lib/chevre/repo/mongoose/schemas/identityProvider.d.ts +4 -3
  70. package/lib/chevre/repo/mongoose/schemas/issuer.d.ts +4 -3
  71. package/lib/chevre/repo/mongoose/schemas/member/global.d.ts +4 -3
  72. package/lib/chevre/repo/mongoose/schemas/member.d.ts +4 -3
  73. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +4 -3
  74. package/lib/chevre/repo/mongoose/schemas/message.d.ts +5 -4
  75. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.d.ts +4 -3
  76. package/lib/chevre/repo/mongoose/schemas/note.d.ts +3 -2
  77. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +4 -3
  78. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.d.ts +4 -3
  79. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +5 -4
  80. package/lib/chevre/repo/mongoose/schemas/order.d.ts +4 -3
  81. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +5 -4
  82. package/lib/chevre/repo/mongoose/schemas/paymentService.d.ts +4 -3
  83. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.d.ts +4 -3
  84. package/lib/chevre/repo/mongoose/schemas/pendingReservation.d.ts +4 -3
  85. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.d.ts +4 -3
  86. package/lib/chevre/repo/mongoose/schemas/place.d.ts +3 -2
  87. package/lib/chevre/repo/mongoose/schemas/potentialAction.d.ts +4 -3
  88. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +6 -3
  89. package/lib/chevre/repo/mongoose/schemas/product.d.ts +4 -3
  90. package/lib/chevre/repo/mongoose/schemas/productModel.d.ts +6 -5
  91. package/lib/chevre/repo/mongoose/schemas/productOffer.d.ts +3 -2
  92. package/lib/chevre/repo/mongoose/schemas/project.d.ts +4 -3
  93. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +4 -3
  94. package/lib/chevre/repo/mongoose/schemas/reserveInterface.d.ts +4 -3
  95. package/lib/chevre/repo/mongoose/schemas/role.d.ts +3 -2
  96. package/lib/chevre/repo/mongoose/schemas/schedule.d.ts +5 -4
  97. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +4 -3
  98. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.d.ts +4 -3
  99. package/lib/chevre/repo/mongoose/schemas/service/availableHour.d.ts +3 -2
  100. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +5 -4
  101. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +4 -3
  102. package/lib/chevre/repo/mongoose/schemas/task.d.ts +4 -3
  103. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +4 -3
  104. package/lib/chevre/repo/mongoose/schemas/ticket.d.ts +4 -3
  105. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +8 -4
  106. package/lib/chevre/repo/mongoose/schemas/transaction.js +31 -0
  107. package/lib/chevre/repo/mongoose/schemas/transactionNumber.d.ts +3 -2
  108. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +4 -3
  109. package/lib/chevre/repo/mongoose/schemas/webSite.d.ts +4 -3
  110. package/lib/chevre/repo/mongoose/virtuals.d.ts +3 -0
  111. package/lib/chevre/repo/mongoose/virtuals.js +2 -0
  112. package/lib/chevre/repo/movieTicketType.d.ts +2 -1
  113. package/lib/chevre/repo/offerCatalog.d.ts +8 -4
  114. package/lib/chevre/repo/order.d.ts +8 -7
  115. package/lib/chevre/repo/orderInTransaction.d.ts +8 -0
  116. package/lib/chevre/repo/orderInTransaction.js +16 -2
  117. package/lib/chevre/repo/orderNumber.d.ts +3 -2
  118. package/lib/chevre/repo/orderNumber.js +23 -28
  119. package/lib/chevre/repo/ownershipInfo.d.ts +8 -7
  120. package/lib/chevre/repo/paymentService.d.ts +0 -13
  121. package/lib/chevre/repo/paymentService.js +5 -5
  122. package/lib/chevre/repo/pendingReservation.js +0 -1
  123. package/lib/chevre/repo/place/hasPOS.js +3 -3
  124. package/lib/chevre/repo/place/movieTheater.d.ts +7 -3
  125. package/lib/chevre/repo/place/screeningRoom.d.ts +7 -3
  126. package/lib/chevre/repo/potentialAction.d.ts +7 -26
  127. package/lib/chevre/repo/priceSpecification.d.ts +51 -24
  128. package/lib/chevre/repo/priceSpecification.js +9 -13
  129. package/lib/chevre/repo/product.d.ts +8 -4
  130. package/lib/chevre/repo/productModel.d.ts +3 -1
  131. package/lib/chevre/repo/productModel.js +15 -11
  132. package/lib/chevre/repo/project.d.ts +8 -11
  133. package/lib/chevre/repo/reservation.d.ts +14 -13
  134. package/lib/chevre/repo/reserveInterface.js +4 -4
  135. package/lib/chevre/repo/role.d.ts +39 -3
  136. package/lib/chevre/repo/schedule.js +1 -1
  137. package/lib/chevre/repo/seller.d.ts +7 -50
  138. package/lib/chevre/repo/task.d.ts +7 -67
  139. package/lib/chevre/repo/transaction/moneyTransfer.d.ts +61 -0
  140. package/lib/chevre/repo/transaction/moneyTransfer.js +379 -0
  141. package/lib/chevre/repo/transaction/placeOrder.d.ts +140 -0
  142. package/lib/chevre/repo/transaction/placeOrder.js +528 -0
  143. package/lib/chevre/repo/transaction/returnOrder.d.ts +45 -0
  144. package/lib/chevre/repo/transaction/returnOrder.js +341 -0
  145. package/lib/chevre/repo/transaction.d.ts +105 -138
  146. package/lib/chevre/repo/transaction.js +726 -632
  147. package/lib/chevre/repository.d.ts +69 -0
  148. package/lib/chevre/repository.js +151 -2
  149. package/lib/chevre/service/aggregation/system.d.ts +10 -10
  150. package/lib/chevre/service/aggregation/system.js +9 -9
  151. package/lib/chevre/service/assetTransaction/pay/check.d.ts +5 -4
  152. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +7 -4
  153. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +3 -3
  154. package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +51 -3
  155. package/lib/chevre/service/assetTransaction/pay/start/factory.js +58 -21
  156. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.d.ts +10 -0
  157. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.js +88 -0
  158. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +57 -0
  159. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.js +56 -0
  160. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +2 -2
  161. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +3 -1
  162. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +1 -11
  163. package/lib/chevre/service/assetTransaction/pay/start.d.ts +4 -0
  164. package/lib/chevre/service/assetTransaction/pay/start.js +8 -132
  165. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.d.ts +19 -4
  166. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +7 -1
  167. package/lib/chevre/service/notification/triggerWebhook.d.ts +7 -6
  168. package/lib/chevre/service/offer/event/authorize.d.ts +2 -2
  169. package/lib/chevre/service/offer/event/authorize.js +3 -3
  170. package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +2 -2
  171. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +1 -1
  172. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +0 -2
  173. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -0
  174. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.d.ts +2 -0
  175. package/lib/chevre/service/offer/event/voidTransaction.d.ts +4 -2
  176. package/lib/chevre/service/offer/event/voidTransaction.js +3 -2
  177. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +3 -3
  178. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +2 -2
  179. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.d.ts +16 -5
  180. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +7 -7
  181. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +6 -4
  182. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +3 -10
  183. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +21 -13
  184. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +19 -10
  185. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.d.ts +2 -2
  186. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +5 -4
  187. package/lib/chevre/service/offer/moneyTransfer/authorize.js +9 -6
  188. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.d.ts +5 -4
  189. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +8 -5
  190. package/lib/chevre/service/offer/product.d.ts +8 -6
  191. package/lib/chevre/service/offer/product.js +11 -11
  192. package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
  193. package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
  194. package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +2 -2
  195. package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -1
  196. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.d.ts +16 -0
  197. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +97 -0
  198. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.d.ts +21 -0
  199. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +86 -0
  200. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +22 -0
  201. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +112 -0
  202. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.d.ts +22 -0
  203. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.js +74 -0
  204. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +25 -0
  205. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +111 -0
  206. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.d.ts +16 -0
  207. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.js +74 -0
  208. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +8 -30
  209. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +37 -348
  210. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +6 -7
  211. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +6 -5
  212. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +7 -6
  213. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
  214. package/lib/chevre/service/order/payOrder.d.ts +2 -2
  215. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +2 -2
  216. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +1 -1
  217. package/lib/chevre/service/order/placeOrder.d.ts +13 -12
  218. package/lib/chevre/service/order/returnOrder.d.ts +2 -2
  219. package/lib/chevre/service/order/returnOrder.js +1 -1
  220. package/lib/chevre/service/order/sendOrder.d.ts +6 -6
  221. package/lib/chevre/service/order/sendOrder.js +9 -8
  222. package/lib/chevre/service/order.d.ts +3 -6
  223. package/lib/chevre/service/order.js +3 -9
  224. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.d.ts → authorize/fixOrderAsNeeded.d.ts} +6 -6
  225. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.js → authorize/fixOrderAsNeeded.js} +5 -8
  226. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +8 -5
  227. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +14 -10
  228. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +34 -17
  229. package/lib/chevre/service/payment/any/authorize.d.ts +98 -0
  230. package/lib/chevre/service/payment/any/authorize.js +239 -0
  231. package/lib/chevre/service/payment/any/findAcceptAction.d.ts +43 -0
  232. package/lib/chevre/service/payment/any/findAcceptAction.js +94 -0
  233. package/lib/chevre/service/payment/any/findAuthorizeAction.d.ts +42 -0
  234. package/lib/chevre/service/payment/any/findAuthorizeAction.js +83 -0
  235. package/lib/chevre/service/payment/any/findCheckAction.d.ts +45 -0
  236. package/lib/chevre/service/payment/any/findCheckAction.js +89 -0
  237. package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +29 -0
  238. package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +187 -0
  239. package/lib/chevre/service/payment/any/onPayActionCompleted.d.ts +7 -3
  240. package/lib/chevre/service/payment/any/onPayActionCompleted.js +3 -0
  241. package/lib/chevre/service/payment/any/processVoidPayTransaction.d.ts +30 -0
  242. package/lib/chevre/service/payment/any/processVoidPayTransaction.js +125 -0
  243. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.d.ts +2 -2
  244. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +66 -0
  245. package/lib/chevre/service/payment/any/publishPaymentUrl.js +133 -0
  246. package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +34 -0
  247. package/lib/chevre/service/payment/any/voidPayTransaction.js +38 -0
  248. package/lib/chevre/service/payment/any.d.ts +8 -305
  249. package/lib/chevre/service/payment/any.js +17 -857
  250. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.d.ts +8 -6
  251. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +3 -3
  252. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.d.ts +8 -6
  253. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +3 -3
  254. package/lib/chevre/service/payment/creditCard/authorize.d.ts +3 -2
  255. package/lib/chevre/service/payment/creditCard/authorize.js +2 -2
  256. package/lib/chevre/service/payment/creditCard/voidTransaction.d.ts +9 -8
  257. package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -7
  258. package/lib/chevre/service/payment/movieTicket/authorize.d.ts +2 -0
  259. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.d.ts +3 -3
  260. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +3 -3
  261. package/lib/chevre/service/payment/movieTicket/validation.d.ts +11 -10
  262. package/lib/chevre/service/payment/movieTicket/validation.js +25 -15
  263. package/lib/chevre/service/report/telemetry.d.ts +4 -0
  264. package/lib/chevre/service/report/telemetry.js +7 -12
  265. package/lib/chevre/service/task/acceptCOAOffer.js +11 -6
  266. package/lib/chevre/service/task/authorizePayment.js +16 -5
  267. package/lib/chevre/service/task/checkMovieTicket.js +3 -3
  268. package/lib/chevre/service/task/checkResource.js +2 -2
  269. package/lib/chevre/service/task/confirmPayTransaction.js +2 -2
  270. package/lib/chevre/service/task/deleteTransaction.js +7 -1
  271. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -2
  272. package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -2
  273. package/lib/chevre/service/task/pay.js +3 -1
  274. package/lib/chevre/service/task/payment/payByTask.d.ts +15 -12
  275. package/lib/chevre/service/task/payment/payByTask.js +1 -1
  276. package/lib/chevre/service/task/payment/voidPaymentByTask.d.ts +2 -0
  277. package/lib/chevre/service/task/placeOrder.js +6 -4
  278. package/lib/chevre/service/task/publishPaymentUrl.js +11 -5
  279. package/lib/chevre/service/task/returnOrder.js +4 -4
  280. package/lib/chevre/service/task/returnPayTransaction.js +4 -3
  281. package/lib/chevre/service/task/sendOrder.js +4 -4
  282. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +11 -6
  283. package/lib/chevre/service/task/voidPayTransaction.js +10 -4
  284. package/lib/chevre/service/task/voidPayment.js +2 -0
  285. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +7 -6
  286. package/lib/chevre/service/task/voidReserveTransaction.js +6 -3
  287. package/lib/chevre/service/transaction/deleteTransaction.d.ts +6 -0
  288. package/lib/chevre/service/transaction/deleteTransaction.js +56 -14
  289. package/lib/chevre/service/transaction/moneyTransfer.d.ts +12 -9
  290. package/lib/chevre/service/transaction/moneyTransfer.js +11 -11
  291. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +2 -2
  292. package/lib/chevre/service/transaction/placeOrder/confirm.js +10 -9
  293. package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +7 -6
  294. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +1 -1
  295. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.d.ts → issueOrderNumberIfNotExist.d.ts} +4 -4
  296. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.js → issueOrderNumberIfNotExist.js} +21 -13
  297. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +2 -2
  298. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +3 -3
  299. package/lib/chevre/service/transaction/placeOrder/start.d.ts +3 -3
  300. package/lib/chevre/service/transaction/placeOrder/start.js +2 -2
  301. package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +23 -0
  302. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +126 -0
  303. package/lib/chevre/service/transaction/placeOrder.d.ts +2 -1
  304. package/lib/chevre/service/transaction/placeOrder.js +3 -1
  305. package/lib/chevre/service/transaction/returnOrder/preStart.d.ts +1 -1
  306. package/lib/chevre/service/transaction/returnOrder.d.ts +16 -14
  307. package/lib/chevre/service/transaction/returnOrder.js +4 -4
  308. package/lib/chevre/service/transaction.d.ts +9 -21
  309. package/lib/chevre/service/transaction.js +5 -111
  310. package/package.json +5 -10
@@ -1,9 +1,10 @@
1
1
  import * as factory from '../../../factory';
2
- import type { ActionRepo } from '../../../repo/action';
2
+ import type { AuthorizeMoneyTransferOfferActionRepo } from '../../../repo/action/authorizeMoneyTransferOffer';
3
3
  import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
4
- import type { TransactionRepo } from '../../../repo/transaction';
4
+ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
5
5
  export declare function voidTransaction(params: factory.task.IData<factory.taskName.VoidMoneyTransferTransaction>): (repos: {
6
- action: ActionRepo;
6
+ action?: never;
7
+ authorizeMoneyTransferOfferAction: AuthorizeMoneyTransferOfferActionRepo;
7
8
  assetTransaction: AssetTransactionRepo;
8
- transaction: TransactionRepo;
9
+ placeOrder: PlaceOrderRepo;
9
10
  }) => Promise<void>;
@@ -28,16 +28,19 @@ const factory = __importStar(require("../../../factory"));
28
28
  const MoneyTransferAssetTransactionService = __importStar(require("../../assetTransaction/moneyTransfer"));
29
29
  function voidTransaction(params) {
30
30
  return async (repos) => {
31
+ if (params.purpose.typeOf !== factory.transactionType.PlaceOrder) {
32
+ throw new factory.errors.NotImplemented(`purpose.typeOf: ${params.purpose.typeOf} not implemented`);
33
+ }
31
34
  let transaction;
32
35
  if (params.agent !== undefined && params.agent !== null && typeof params.agent.id === 'string') {
33
- transaction = await repos.transaction.projectFieldsInProgressById({
36
+ transaction = await repos.placeOrder.findPlaceOrderInProgressById({
34
37
  typeOf: params.purpose.typeOf,
35
38
  id: params.purpose.id
36
39
  }, ['typeOf']);
37
40
  }
38
41
  let authorizeActions;
39
42
  if (typeof params.id === 'string') {
40
- const authorizeAction = await repos.action.findById({ typeOf: factory.actionType.AuthorizeAction, id: params.id });
43
+ const authorizeAction = await repos.authorizeMoneyTransferOfferAction.findById({ typeOf: factory.actionType.AuthorizeAction, id: params.id });
41
44
  // 取引内のアクションかどうか確認
42
45
  if (transaction !== undefined) {
43
46
  if (authorizeAction.purpose.typeOf !== transaction.typeOf || authorizeAction.purpose.id !== transaction.id) {
@@ -47,8 +50,8 @@ function voidTransaction(params) {
47
50
  authorizeActions = [authorizeAction];
48
51
  }
49
52
  else {
50
- authorizeActions = await repos.action.searchByPurpose({
51
- typeOf: factory.actionType.AuthorizeAction,
53
+ authorizeActions = await repos.authorizeMoneyTransferOfferAction.findAuthorizeMoneyTransferOfferActionsByPurpose({
54
+ // typeOf: factory.actionType.AuthorizeAction,
52
55
  purpose: {
53
56
  typeOf: params.purpose.typeOf,
54
57
  id: params.purpose.id
@@ -58,7 +61,7 @@ function voidTransaction(params) {
58
61
  .filter((a) => a.object.itemOffered?.typeOf === factory.actionType.MoneyTransfer);
59
62
  }
60
63
  await Promise.all(authorizeActions.map(async (action) => {
61
- await repos.action.cancelWithVoid({ typeOf: action.typeOf, id: action.id });
64
+ await repos.authorizeMoneyTransferOfferAction.cancelWithVoid({ typeOf: action.typeOf, id: action.id });
62
65
  const pendingTransactionTransactionNumber = action.object.itemOffered.object?.pendingTransaction?.transactionNumber;
63
66
  if (typeof pendingTransactionTransactionNumber === 'string') {
64
67
  // 取引が存在すれば中止
@@ -1,6 +1,6 @@
1
1
  import * as factory from '../../factory';
2
2
  import type { AccountRepo } from '../../repo/account';
3
- import type { ActionRepo } from '../../repo/action';
3
+ import type { AuthorizeProductOfferActionRepo } from '../../repo/action/authorizeProductOffer';
4
4
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
5
5
  import type { OfferRepo } from '../../repo/offer/unitPriceInCatalog';
6
6
  import type { OfferCatalogRepo } from '../../repo/offerCatalog';
@@ -11,11 +11,12 @@ import type { ProductRepo } from '../../repo/product';
11
11
  import type { ProjectRepo } from '../../repo/project';
12
12
  import type { ServiceOutputRepo } from '../../repo/serviceOutput';
13
13
  import type { ServiceOutputIdentifierRepo } from '../../repo/serviceOutputIdentifier';
14
- import type { TransactionRepo } from '../../repo/transaction';
14
+ import type { PlaceOrderRepo } from '../../repo/transaction/placeOrder';
15
15
  import type { TransactionNumberRepo } from '../../repo/transactionNumber';
16
16
  export interface IAuthorizeOperationRepos {
17
17
  account: AccountRepo;
18
- action: ActionRepo;
18
+ action?: never;
19
+ authorizeProductOfferAction: AuthorizeProductOfferActionRepo;
19
20
  assetTransaction: AssetTransactionRepo;
20
21
  offer: OfferRepo;
21
22
  offerCatalog: OfferCatalogRepo;
@@ -26,7 +27,7 @@ export interface IAuthorizeOperationRepos {
26
27
  project: ProjectRepo;
27
28
  serviceOutput: ServiceOutputRepo;
28
29
  serviceOutputIdentifier: ServiceOutputIdentifierRepo;
29
- transaction: TransactionRepo;
30
+ placeOrder: PlaceOrderRepo;
30
31
  transactionNumber: TransactionNumberRepo;
31
32
  }
32
33
  export type IAuthorizeOperation<T> = (repos: IAuthorizeOperationRepos) => Promise<T>;
@@ -94,7 +95,8 @@ export declare function authorize(params: {
94
95
  result: IAuthorizeOfferAction['result'];
95
96
  }>;
96
97
  export declare function voidTransaction(params: factory.task.IData<factory.taskName.VoidRegisterServiceTransaction>): (repos: {
97
- action: ActionRepo;
98
+ action?: never;
99
+ authorizeProductOfferAction: AuthorizeProductOfferActionRepo;
98
100
  assetTransaction: AssetTransactionRepo;
99
- transaction: TransactionRepo;
101
+ placeOrder: PlaceOrderRepo;
100
102
  }) => Promise<void>;
@@ -31,7 +31,7 @@ const factory = __importStar(require("../../factory"));
31
31
  const accountTransactionIdentifier_1 = require("../../factory/accountTransactionIdentifier");
32
32
  const availableProductTypes_1 = require("../../factory/availableProductTypes");
33
33
  const RegisterServiceTransaction = __importStar(require("../assetTransaction/registerService"));
34
- const publishOrderNumberIfNotExist_1 = require("../transaction/placeOrder/publishOrderNumberIfNotExist");
34
+ const issueOrderNumberIfNotExist_1 = require("../transaction/placeOrder/issueOrderNumberIfNotExist");
35
35
  const any_1 = require("./any");
36
36
  const factory_1 = require("./product/factory");
37
37
  const searchProductOffers_1 = require("./product/searchProductOffers");
@@ -99,7 +99,7 @@ function search(params) {
99
99
  function authorize(params) {
100
100
  return async (repos) => {
101
101
  const now = new Date();
102
- const transaction = await repos.transaction.projectFieldsInProgressById({
102
+ const transaction = await repos.placeOrder.findPlaceOrderInProgressById({
103
103
  typeOf: factory.transactionType.PlaceOrder,
104
104
  id: params.transaction.id
105
105
  }, ['agent', 'project', 'seller', 'typeOf', 'expires']);
@@ -117,7 +117,7 @@ function authorize(params) {
117
117
  })(repos);
118
118
  }
119
119
  // ポイント特典の識別子に利用するため注文番号を先に発行
120
- const orderNumber = await (0, publishOrderNumberIfNotExist_1.publishOrderNumberIfNotExist)({
120
+ const orderNumber = await (0, issueOrderNumberIfNotExist_1.issueOrderNumberIfNotExist)({
121
121
  project: { id: transaction.project.id },
122
122
  id: transaction.id,
123
123
  object: { orderDate: new Date() }
@@ -142,7 +142,7 @@ function authorize(params) {
142
142
  transaction: transaction,
143
143
  transactionNumber: transactionNumber
144
144
  });
145
- const action = await repos.action.start(actionAttributes);
145
+ const action = await repos.authorizeProductOfferAction.start(actionAttributes);
146
146
  try {
147
147
  // 会員の場合のみ排他ロック
148
148
  // if (params.agent.typeOf === factory.personType.Person) {
@@ -168,14 +168,14 @@ function authorize(params) {
168
168
  }
169
169
  catch (error) {
170
170
  try {
171
- await repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error });
171
+ await repos.authorizeProductOfferAction.giveUp({ typeOf: action.typeOf, id: action.id, error });
172
172
  }
173
173
  catch (__) {
174
174
  // no op
175
175
  }
176
176
  throw error;
177
177
  }
178
- await repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: result });
178
+ await repos.authorizeProductOfferAction.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: result });
179
179
  return { id: action.id, result };
180
180
  };
181
181
  }
@@ -214,7 +214,7 @@ function fixProductAndOffers(params) {
214
214
  }
215
215
  function voidTransaction(params) {
216
216
  return async (repos) => {
217
- const transaction = await repos.transaction.projectFieldsById({
217
+ const transaction = await repos.placeOrder.findPlaceOrderById({
218
218
  typeOf: params.purpose.typeOf,
219
219
  id: params.purpose.id
220
220
  }, ['agent', 'status', 'typeOf']);
@@ -230,15 +230,15 @@ function voidTransaction(params) {
230
230
  }
231
231
  let authorizeActions;
232
232
  if (typeof params.id === 'string') {
233
- const action = await repos.action.findById({ typeOf: factory.actionType.AuthorizeAction, id: params.id });
233
+ const action = await repos.authorizeProductOfferAction.findById({ typeOf: factory.actionType.AuthorizeAction, id: params.id });
234
234
  if (action.purpose.typeOf !== transaction.typeOf || action.purpose.id !== transaction.id) {
235
235
  throw new factory.errors.Argument('Transaction', 'Action not found in the transaction');
236
236
  }
237
237
  authorizeActions = [action];
238
238
  }
239
239
  else {
240
- authorizeActions = await repos.action.searchByPurpose({
241
- typeOf: factory.actionType.AuthorizeAction,
240
+ authorizeActions = await repos.authorizeProductOfferAction.findAuthorizeProductOfferActionsByPurpose({
241
+ // typeOf: factory.actionType.AuthorizeAction,
242
242
  purpose: {
243
243
  typeOf: params.purpose.typeOf,
244
244
  id: params.purpose.id
@@ -260,7 +260,7 @@ function voidTransaction(params) {
260
260
  // purpose: params.purpose
261
261
  // })(repos);
262
262
  }
263
- await repos.action.cancelWithVoid({ typeOf: action.typeOf, id: action.id });
263
+ await repos.authorizeProductOfferAction.cancelWithVoid({ typeOf: action.typeOf, id: action.id });
264
264
  await processVoidRegisterServiceTransaction({
265
265
  action,
266
266
  project: params.project
@@ -7,7 +7,6 @@ import type { EventRepo } from '../../repo/event';
7
7
  import type { OrderRepo } from '../../repo/order';
8
8
  import type { ProjectRepo } from '../../repo/project';
9
9
  import type { TaskRepo } from '../../repo/task';
10
- import type { TransactionRepo } from '../../repo/transaction';
11
10
  declare function confirmPayTransaction(data: factory.task.IData<factory.taskName.ConfirmPayTransaction> & {
12
11
  project: {
13
12
  id: string;
@@ -22,6 +21,5 @@ declare function confirmPayTransaction(data: factory.task.IData<factory.taskName
22
21
  event: EventRepo;
23
22
  project: ProjectRepo;
24
23
  task: TaskRepo;
25
- transaction: TransactionRepo;
26
24
  }) => Promise<void>;
27
25
  export { confirmPayTransaction };
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.confirmPayTransaction = confirmPayTransaction;
27
27
  const factory = __importStar(require("../../factory"));
28
+ // import type { TransactionRepo } from '../../repo/transaction';
28
29
  const PayTransactionService = __importStar(require("../assetTransaction/pay"));
29
30
  function confirmPayTransaction(data, options) {
30
31
  return async (repos) => {
@@ -1,4 +1,4 @@
1
- import type { TransactionRepo } from '../../repo/transaction';
1
+ import type { PlaceOrderRepo } from '../../repo/transaction/placeOrder';
2
2
  import * as factory from '../../factory';
3
3
  type ITransaction = Pick<factory.transaction.placeOrder.ITransaction, 'id' | 'potentialActions' | 'project' | 'typeOf'>;
4
4
  export declare function findPlaceOrderTransaction(params: {
@@ -8,6 +8,6 @@ export declare function findPlaceOrderTransaction(params: {
8
8
  confirmationNumber: string;
9
9
  orderNumber: string;
10
10
  }): (repos: {
11
- transaction: TransactionRepo;
11
+ placeOrder: PlaceOrderRepo;
12
12
  }) => Promise<ITransaction>;
13
13
  export {};
@@ -27,7 +27,7 @@ exports.findPlaceOrderTransaction = findPlaceOrderTransaction;
27
27
  const factory = __importStar(require("../../factory"));
28
28
  function findPlaceOrderTransaction(params) {
29
29
  return async (repos) => {
30
- const placeOrderTransactions = await repos.transaction.projectFields({
30
+ const placeOrderTransactions = await repos.placeOrder.findPlaceOrderTransactions({
31
31
  limit: 1,
32
32
  page: 1,
33
33
  project: { id: { $eq: params.project.id } },
@@ -0,0 +1,16 @@
1
+ import type { AcceptedOfferRepo } from '../../../repo/acceptedOffer';
2
+ import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
3
+ import type { OrderRepo } from '../../../repo/order';
4
+ import * as factory from '../../../factory';
5
+ declare function isDeliverable(params: {
6
+ project: {
7
+ id: string;
8
+ };
9
+ orderNumber: string;
10
+ assetTransactionType: factory.assetTransactionType.Reserve | factory.assetTransactionType.MoneyTransfer | factory.assetTransactionType.RegisterService;
11
+ }): (repos: {
12
+ acceptedOffer: AcceptedOfferRepo;
13
+ assetTransaction: AssetTransactionRepo;
14
+ order: OrderRepo;
15
+ }) => Promise<boolean>;
16
+ export { isDeliverable };
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.isDeliverable = isDeliverable;
30
+ const debug_1 = __importDefault(require("debug"));
31
+ const factory = __importStar(require("../../../factory"));
32
+ const debug = (0, debug_1.default)('chevre-domain:service:order');
33
+ function isDeliverable(params) {
34
+ return async (repos) => {
35
+ let allReserveTransactionConfirmed = false;
36
+ let allMoneyTransferTransactionConfirmed = false;
37
+ let allRegisterServiceTransactionConfirmed = false;
38
+ if (params.assetTransactionType === factory.assetTransactionType.Reserve) {
39
+ allMoneyTransferTransactionConfirmed = true;
40
+ allRegisterServiceTransactionConfirmed = true;
41
+ // 注文のreservationNumberを取得
42
+ const reservationNumbers = await repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.orderNumber] } }, 'acceptedOffers.itemOffered.reservationNumber');
43
+ if (reservationNumbers.length > 0) {
44
+ const referencedReserveTransactions = await repos.assetTransaction.search({
45
+ project: { id: { $eq: params.project.id } },
46
+ typeOf: factory.assetTransactionType.Reserve,
47
+ transactionNumber: { $in: reservationNumbers }
48
+ }, ['status']);
49
+ allReserveTransactionConfirmed =
50
+ referencedReserveTransactions.length === reservationNumbers.length
51
+ && referencedReserveTransactions.every(({ status }) => status === factory.transactionStatusType.Confirmed);
52
+ }
53
+ else {
54
+ allReserveTransactionConfirmed = true;
55
+ }
56
+ }
57
+ else if (params.assetTransactionType === factory.assetTransactionType.MoneyTransfer) {
58
+ allReserveTransactionConfirmed = true;
59
+ allRegisterServiceTransactionConfirmed = true;
60
+ // 注文のMoneyTransferTransaction.transactionNumberを取得
61
+ const moneyTransferTransactionNumbers = await repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.orderNumber] } }, 'acceptedOffers.serialNumber');
62
+ if (moneyTransferTransactionNumbers.length > 0) {
63
+ debug('is deliverable?...', params.orderNumber, 'moneyTransferTransactionNumbers:', moneyTransferTransactionNumbers);
64
+ const referencedMoneyTransferTransactions = await repos.assetTransaction.search({
65
+ project: { id: { $eq: params.project.id } },
66
+ typeOf: factory.assetTransactionType.MoneyTransfer,
67
+ transactionNumber: { $in: moneyTransferTransactionNumbers }
68
+ }, ['status']);
69
+ allMoneyTransferTransactionConfirmed =
70
+ referencedMoneyTransferTransactions.length === moneyTransferTransactionNumbers.length
71
+ && referencedMoneyTransferTransactions.every(({ status }) => status === factory.transactionStatusType.Confirmed);
72
+ }
73
+ else {
74
+ allMoneyTransferTransactionConfirmed = true;
75
+ }
76
+ }
77
+ else if (params.assetTransactionType === factory.assetTransactionType.RegisterService) {
78
+ allReserveTransactionConfirmed = true;
79
+ allMoneyTransferTransactionConfirmed = true;
80
+ const registerServiceTransactionNumbers = await repos.acceptedOffer.distinctValues({ orderNumber: { $in: [params.orderNumber] } }, 'acceptedOffers.serialNumber');
81
+ if (registerServiceTransactionNumbers.length > 0) {
82
+ const referencedRegisterServiceTransactions = await repos.assetTransaction.search({
83
+ project: { id: { $eq: params.project.id } },
84
+ typeOf: factory.assetTransactionType.RegisterService,
85
+ transactionNumber: { $in: registerServiceTransactionNumbers }
86
+ }, ['status']);
87
+ allRegisterServiceTransactionConfirmed =
88
+ referencedRegisterServiceTransactions.length === registerServiceTransactionNumbers.length
89
+ && referencedRegisterServiceTransactions.every(({ status }) => status === factory.transactionStatusType.Confirmed);
90
+ }
91
+ else {
92
+ allRegisterServiceTransactionConfirmed = true;
93
+ }
94
+ }
95
+ return allReserveTransactionConfirmed && allMoneyTransferTransactionConfirmed && allRegisterServiceTransactionConfirmed;
96
+ };
97
+ }
@@ -0,0 +1,21 @@
1
+ import type { AcceptedOfferRepo } from '../../../repo/acceptedOffer';
2
+ import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
3
+ import type { OrderRepo } from '../../../repo/order';
4
+ import type { SettingRepo } from '../../../repo/setting';
5
+ import type { TaskRepo } from '../../../repo/task';
6
+ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
7
+ import * as factory from '../../../factory';
8
+ interface IOnPayTransactionCanceledRepos {
9
+ acceptedOffer: AcceptedOfferRepo;
10
+ assetTransaction: AssetTransactionRepo;
11
+ order: OrderRepo;
12
+ setting: SettingRepo;
13
+ task: TaskRepo;
14
+ placeOrder: PlaceOrderRepo;
15
+ }
16
+ declare function onPayTransactionCanceled(params: factory.task.onAssetTransactionStatusChanged.IData & {
17
+ object: factory.task.onAssetTransactionStatusChanged.IObjectAsPayTransaction & {
18
+ status: factory.transactionStatusType.Canceled | factory.transactionStatusType.Expired;
19
+ };
20
+ }): (repos: IOnPayTransactionCanceledRepos) => Promise<void>;
21
+ export { IOnPayTransactionCanceledRepos, onPayTransactionCanceled, };
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.onPayTransactionCanceled = onPayTransactionCanceled;
27
+ const findPlaceOrderTransaction_1 = require("../findPlaceOrderTransaction");
28
+ const onOrderStatusChanged_1 = require("../onOrderStatusChanged");
29
+ const factory = __importStar(require("../../../factory"));
30
+ function onPayTransactionCanceled(params) {
31
+ return async (repos
32
+ // settings: Settings
33
+ ) => {
34
+ if (typeof params.useOnOrderStatusChanged !== 'boolean') {
35
+ throw new factory.errors.Argument('useOnOrderStatusChanged', 'must be boolean');
36
+ }
37
+ // 注文が存在すればキャンセル(2023-08-30~)
38
+ await cancelOrderIfExist({
39
+ project: { id: params.project.id },
40
+ paymentMethodId: params.object.transactionNumber,
41
+ useOnOrderStatusChanged: params.useOnOrderStatusChanged
42
+ })(repos);
43
+ };
44
+ }
45
+ function cancelOrderIfExist(params) {
46
+ return async (repos) => {
47
+ if (params.paymentMethodId.length === 0) {
48
+ return;
49
+ }
50
+ // 注文のpaymentMethodIdを取得
51
+ const ordersByPaymentMethodId = await repos.order.projectFields({
52
+ limit: 1,
53
+ page: 1,
54
+ paymentMethods: {
55
+ paymentMethodIds: [params.paymentMethodId]
56
+ },
57
+ project: { id: { $eq: params.project.id } }
58
+ }, { inclusion: ['confirmationNumber', 'orderNumber'] });
59
+ const orderByPaymentMethodId = ordersByPaymentMethodId.shift();
60
+ if (orderByPaymentMethodId !== undefined) {
61
+ const placeOrderTransaction = await (0, findPlaceOrderTransaction_1.findPlaceOrderTransaction)({
62
+ project: { id: params.project.id },
63
+ confirmationNumber: orderByPaymentMethodId.confirmationNumber,
64
+ orderNumber: orderByPaymentMethodId.orderNumber
65
+ })(repos);
66
+ const order = await repos.order.changeStatus({
67
+ project: { id: params.project.id },
68
+ orderNumber: orderByPaymentMethodId.orderNumber,
69
+ orderStatus: factory.orderStatus.OrderCancelled,
70
+ previousOrderStatus: factory.orderStatus.OrderPaymentDue
71
+ });
72
+ if (params.useOnOrderStatusChanged) {
73
+ await (0, onOrderStatusChanged_1.onOrderCancelled)({
74
+ order: {
75
+ orderDate: order.orderDate,
76
+ orderNumber: order.orderNumber,
77
+ orderStatus: factory.orderStatus.OrderCancelled // 強制的にOrderCancelledとして処理する
78
+ },
79
+ placeOrderTransaction
80
+ })({
81
+ task: repos.task
82
+ });
83
+ }
84
+ }
85
+ };
86
+ }
@@ -0,0 +1,22 @@
1
+ import type { AcceptedOfferRepo } from '../../../repo/acceptedOffer';
2
+ import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
3
+ import type { OrderRepo } from '../../../repo/order';
4
+ import type { SettingRepo } from '../../../repo/setting';
5
+ import type { TaskRepo } from '../../../repo/task';
6
+ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
7
+ import * as factory from '../../../factory';
8
+ import { Settings } from '../../../settings';
9
+ interface IOnPayTransactionConfirmedRepos {
10
+ acceptedOffer: AcceptedOfferRepo;
11
+ assetTransaction: AssetTransactionRepo;
12
+ order: OrderRepo;
13
+ setting: SettingRepo;
14
+ task: TaskRepo;
15
+ placeOrder: PlaceOrderRepo;
16
+ }
17
+ declare function onPayTransactionConfirmed(params: factory.task.onAssetTransactionStatusChanged.IData & {
18
+ object: factory.task.onAssetTransactionStatusChanged.IObjectAsPayTransaction & {
19
+ status: factory.transactionStatusType.Confirmed;
20
+ };
21
+ }): (repos: IOnPayTransactionConfirmedRepos, settings: Settings) => Promise<void>;
22
+ export { IOnPayTransactionConfirmedRepos, onPayTransactionConfirmed };
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.onPayTransactionConfirmed = onPayTransactionConfirmed;
27
+ const paymentDue2Processing_1 = require("../onAssetTransactionStatusChanged/paymentDue2Processing");
28
+ const factory = __importStar(require("../../../factory"));
29
+ function onPayTransactionConfirmed(params) {
30
+ return async (repos, settings) => {
31
+ if (typeof params.useOnOrderStatusChanged !== 'boolean') {
32
+ throw new factory.errors.Argument('useOnOrderStatusChanged', 'must be boolean');
33
+ }
34
+ const orderNumber = params.purpose?.orderNumber;
35
+ const confirmationNumber = params.purpose?.confirmationNumber;
36
+ // 確定時の決済方法区分指定(2023-08-29~)
37
+ const specifiedPaymentMethodIdentifire = params.object?.object?.paymentMethod?.identifier;
38
+ if (typeof specifiedPaymentMethodIdentifire === 'string' && specifiedPaymentMethodIdentifire.length > 0) {
39
+ await fixPaymentMethodIdentifierIfPossible({
40
+ project: { id: params.project.id },
41
+ paymentMethodId: params.object.transactionNumber,
42
+ paymentMethod: { identifier: specifiedPaymentMethodIdentifire },
43
+ referencesOrder: { orderNumber }
44
+ })(repos);
45
+ }
46
+ if (typeof orderNumber === 'string' && typeof confirmationNumber === 'string') {
47
+ // PayTransactionのステータス検証
48
+ const processable = await isProcessable({ project: { id: params.project.id }, orderNumber })(repos);
49
+ if (processable) {
50
+ await (0, paymentDue2Processing_1.paymentDue2Processing)({
51
+ project: { id: params.project.id },
52
+ confirmationNumber,
53
+ orderNumber,
54
+ useOnOrderStatusChanged: params.useOnOrderStatusChanged
55
+ })(repos, settings);
56
+ }
57
+ }
58
+ };
59
+ }
60
+ function fixPaymentMethodIdentifierIfPossible(params) {
61
+ return async (repos) => {
62
+ const referencedPayTransactions = await repos.assetTransaction.search({
63
+ project: { id: { $eq: params.project.id } },
64
+ typeOf: factory.assetTransactionType.Pay,
65
+ statuses: [factory.transactionStatusType.Confirmed],
66
+ transactionNumber: { $in: [params.paymentMethodId] }
67
+ }, ['object']);
68
+ const referencedPayTransaction = referencedPayTransactions.shift();
69
+ if (referencedPayTransaction === undefined) {
70
+ throw new factory.errors.NotFound(factory.assetTransactionType.Pay);
71
+ }
72
+ // 対面決済かつ決済取引上の決済方法区分と一致すれば、注文を変更
73
+ if (referencedPayTransaction.object.typeOf === factory.service.paymentService.PaymentServiceType.FaceToFace
74
+ && referencedPayTransaction.object.paymentMethod.identifier === params.paymentMethod.identifier) {
75
+ await repos.order.fixPaymentMethodIdentifier({
76
+ project: { id: params.project.id },
77
+ orderNumber: params.referencesOrder.orderNumber,
78
+ invoice: {
79
+ paymentMethodId: params.paymentMethodId,
80
+ paymentMethod: { identifier: params.paymentMethod.identifier }
81
+ }
82
+ });
83
+ }
84
+ };
85
+ }
86
+ function isProcessable(params) {
87
+ return async (repos) => {
88
+ // 注文のpaymentMethodIdを取得
89
+ const order = await repos.order.projectFieldsByOrderNumber({
90
+ orderNumber: params.orderNumber,
91
+ project: { id: params.project.id },
92
+ inclusion: ['paymentMethods']
93
+ });
94
+ // PayTransactionのステータス検証
95
+ let allPayTransactionConfirmed;
96
+ const paymentMethodIds = order.paymentMethods.filter((invoice) => typeof invoice.paymentMethodId === 'string' && invoice.paymentMethodId.length > 0)
97
+ .map((invoice) => invoice.paymentMethodId);
98
+ if (paymentMethodIds.length > 0) {
99
+ const referencedPayTransactions = await repos.assetTransaction.search({
100
+ project: { id: { $eq: params.project.id } },
101
+ typeOf: factory.assetTransactionType.Pay,
102
+ transactionNumber: { $in: paymentMethodIds }
103
+ }, ['status']);
104
+ allPayTransactionConfirmed =
105
+ referencedPayTransactions.every((payTransation) => payTransation.status === factory.transactionStatusType.Confirmed);
106
+ }
107
+ else {
108
+ allPayTransactionConfirmed = true;
109
+ }
110
+ return allPayTransactionConfirmed;
111
+ };
112
+ }
@@ -0,0 +1,22 @@
1
+ import type { AcceptedOfferRepo } from '../../../repo/acceptedOffer';
2
+ import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
3
+ import type { OrderRepo } from '../../../repo/order';
4
+ import type { SettingRepo } from '../../../repo/setting';
5
+ import type { TaskRepo } from '../../../repo/task';
6
+ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
7
+ import * as factory from '../../../factory';
8
+ import { Settings } from '../../../settings';
9
+ interface IOnReserveTransactionConfirmedRepos {
10
+ acceptedOffer: AcceptedOfferRepo;
11
+ assetTransaction: AssetTransactionRepo;
12
+ order: OrderRepo;
13
+ setting: SettingRepo;
14
+ task: TaskRepo;
15
+ placeOrder: PlaceOrderRepo;
16
+ }
17
+ declare function onReserveTransactionConfirmed(params: factory.task.onAssetTransactionStatusChanged.IData & {
18
+ object: factory.task.onAssetTransactionStatusChanged.IObjectAsReserveTransaction & {
19
+ status: factory.transactionStatusType.Confirmed;
20
+ };
21
+ }): (repos: IOnReserveTransactionConfirmedRepos, settings: Settings) => Promise<void>;
22
+ export { IOnReserveTransactionConfirmedRepos, onReserveTransactionConfirmed, };