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

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 (316) 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/ticket.d.ts +4 -3
  104. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +8 -4
  105. package/lib/chevre/repo/mongoose/schemas/transaction.js +31 -0
  106. package/lib/chevre/repo/mongoose/schemas/transactionNumber.d.ts +3 -2
  107. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +4 -3
  108. package/lib/chevre/repo/mongoose/schemas/webSite.d.ts +4 -3
  109. package/lib/chevre/repo/mongoose/virtuals.d.ts +3 -0
  110. package/lib/chevre/repo/mongoose/virtuals.js +2 -0
  111. package/lib/chevre/repo/movieTicketType.d.ts +2 -1
  112. package/lib/chevre/repo/offerCatalog.d.ts +8 -4
  113. package/lib/chevre/repo/order.d.ts +8 -7
  114. package/lib/chevre/repo/orderInTransaction.d.ts +8 -0
  115. package/lib/chevre/repo/orderInTransaction.js +16 -2
  116. package/lib/chevre/repo/orderNumber.d.ts +3 -2
  117. package/lib/chevre/repo/orderNumber.js +23 -28
  118. package/lib/chevre/repo/ownershipInfo.d.ts +8 -7
  119. package/lib/chevre/repo/paymentService.d.ts +0 -13
  120. package/lib/chevre/repo/paymentService.js +5 -5
  121. package/lib/chevre/repo/pendingReservation.js +0 -1
  122. package/lib/chevre/repo/place/hasPOS.js +3 -3
  123. package/lib/chevre/repo/place/movieTheater.d.ts +7 -3
  124. package/lib/chevre/repo/place/screeningRoom.d.ts +7 -3
  125. package/lib/chevre/repo/potentialAction.d.ts +7 -26
  126. package/lib/chevre/repo/priceSpecification.d.ts +51 -24
  127. package/lib/chevre/repo/priceSpecification.js +9 -13
  128. package/lib/chevre/repo/product.d.ts +8 -4
  129. package/lib/chevre/repo/productModel.d.ts +3 -1
  130. package/lib/chevre/repo/productModel.js +15 -11
  131. package/lib/chevre/repo/project.d.ts +8 -11
  132. package/lib/chevre/repo/reservation.d.ts +14 -13
  133. package/lib/chevre/repo/reserveInterface.js +4 -4
  134. package/lib/chevre/repo/role.d.ts +39 -3
  135. package/lib/chevre/repo/schedule.js +1 -1
  136. package/lib/chevre/repo/seller.d.ts +7 -50
  137. package/lib/chevre/repo/task.d.ts +7 -67
  138. package/lib/chevre/repo/transaction/moneyTransfer.d.ts +61 -0
  139. package/lib/chevre/repo/transaction/moneyTransfer.js +379 -0
  140. package/lib/chevre/repo/transaction/placeOrder.d.ts +140 -0
  141. package/lib/chevre/repo/transaction/placeOrder.js +528 -0
  142. package/lib/chevre/repo/transaction/returnOrder.d.ts +45 -0
  143. package/lib/chevre/repo/transaction/returnOrder.js +341 -0
  144. package/lib/chevre/repo/transaction.d.ts +105 -138
  145. package/lib/chevre/repo/transaction.js +726 -632
  146. package/lib/chevre/repository.d.ts +69 -5
  147. package/lib/chevre/repository.js +151 -13
  148. package/lib/chevre/service/aggregation/system.d.ts +10 -10
  149. package/lib/chevre/service/aggregation/system.js +9 -9
  150. package/lib/chevre/service/assetTransaction/pay/check.d.ts +5 -4
  151. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +7 -4
  152. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +3 -3
  153. package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +51 -3
  154. package/lib/chevre/service/assetTransaction/pay/start/factory.js +58 -21
  155. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.d.ts +10 -0
  156. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.js +88 -0
  157. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +57 -0
  158. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.js +56 -0
  159. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +2 -2
  160. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +3 -1
  161. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +1 -11
  162. package/lib/chevre/service/assetTransaction/pay/start.d.ts +4 -0
  163. package/lib/chevre/service/assetTransaction/pay/start.js +8 -132
  164. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.d.ts +19 -4
  165. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +7 -1
  166. package/lib/chevre/service/notification/triggerWebhook.d.ts +7 -6
  167. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.d.ts +0 -2
  168. package/lib/chevre/service/offer/event/authorize.d.ts +6 -5
  169. package/lib/chevre/service/offer/event/authorize.js +6 -6
  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 +6 -2
  176. package/lib/chevre/service/offer/event/voidTransaction.js +3 -2
  177. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +8 -3
  178. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +4 -4
  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 +8 -7
  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.d.ts +1 -2
  264. package/lib/chevre/service/report.js +1 -3
  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 +8 -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
  311. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +0 -9
  312. package/lib/chevre/repo/mongoose/schemas/telemetry.js +0 -80
  313. package/lib/chevre/repo/telemetry.d.ts +0 -9
  314. package/lib/chevre/repo/telemetry.js +0 -14
  315. package/lib/chevre/service/report/telemetry.d.ts +0 -309
  316. package/lib/chevre/service/report/telemetry.js +0 -449
@@ -1,20 +1,21 @@
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
4
  import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
5
5
  import type { OrderNumberRepo } from '../../../repo/orderNumber';
6
6
  import type { ProductRepo } from '../../../repo/product';
7
7
  import type { ProjectRepo } from '../../../repo/project';
8
- import type { TransactionRepo } from '../../../repo/transaction';
8
+ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
9
9
  import type { TransactionNumberRepo } from '../../../repo/transactionNumber';
10
10
  interface IAuthorizeRepos {
11
- action: ActionRepo;
11
+ action?: never;
12
+ authorizeMoneyTransferOfferAction: AuthorizeMoneyTransferOfferActionRepo;
12
13
  product: ProductRepo;
13
14
  project: ProjectRepo;
14
15
  assetTransaction: AssetTransactionRepo;
15
16
  orderInTransaction: OrderInTransactionRepo;
16
17
  orderNumber: OrderNumberRepo;
17
- transaction: TransactionRepo;
18
+ placeOrder: PlaceOrderRepo;
18
19
  transactionNumber: TransactionNumberRepo;
19
20
  }
20
21
  type IAuthorizeOperation<T> = (repos: IAuthorizeRepos) => Promise<T>;
@@ -30,11 +30,14 @@ exports.authorize = authorize;
30
30
  const moment_1 = __importDefault(require("moment"));
31
31
  const factory = __importStar(require("../../../factory"));
32
32
  const MoneyTransferAssetTransactionService = __importStar(require("../../assetTransaction/moneyTransfer"));
33
- const publishOrderNumberIfNotExist_1 = require("../../transaction/placeOrder/publishOrderNumberIfNotExist");
33
+ const issueOrderNumberIfNotExist_1 = require("../../transaction/placeOrder/issueOrderNumberIfNotExist");
34
34
  const any_1 = require("../any");
35
35
  function authorize(params) {
36
36
  return async (repos) => {
37
- const transaction = await repos.transaction.projectFieldsInProgressById({
37
+ if (params.purpose.typeOf !== factory.transactionType.PlaceOrder) {
38
+ throw new factory.errors.NotImplemented(`purpose.typeOf: ${params.purpose.typeOf} not implemented`);
39
+ }
40
+ const transaction = await repos.placeOrder.findPlaceOrderInProgressById({
38
41
  typeOf: params.purpose.typeOf,
39
42
  id: params.purpose.id
40
43
  }, ['seller', 'project', 'agent', 'typeOf']);
@@ -42,7 +45,7 @@ function authorize(params) {
42
45
  throw new factory.errors.Forbidden('Transaction not yours');
43
46
  }
44
47
  const now = new Date();
45
- const orderNumber = await (0, publishOrderNumberIfNotExist_1.publishOrderNumberIfNotExist)({
48
+ const orderNumber = await (0, issueOrderNumberIfNotExist_1.issueOrderNumberIfNotExist)({
46
49
  project: { id: params.project.id },
47
50
  id: transaction.id,
48
51
  object: { orderDate: now }
@@ -58,7 +61,7 @@ function authorize(params) {
58
61
  object: params.object,
59
62
  transactionNumber
60
63
  });
61
- const action = await repos.action.start(actionAttributes);
64
+ const action = await repos.authorizeMoneyTransferOfferAction.start(actionAttributes);
62
65
  // priceを確定する
63
66
  let price = 0;
64
67
  try {
@@ -83,7 +86,7 @@ function authorize(params) {
83
86
  }
84
87
  catch (error) {
85
88
  try {
86
- await repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error });
89
+ await repos.authorizeMoneyTransferOfferAction.giveUp({ typeOf: action.typeOf, id: action.id, error });
87
90
  }
88
91
  catch (__) {
89
92
  // 失敗したら仕方ない
@@ -97,7 +100,7 @@ function authorize(params) {
97
100
  responseBody
98
101
  // acceptedOffers: acceptedOffers4result // discontinue(2024-06-17~)
99
102
  };
100
- await repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: result });
103
+ await repos.authorizeMoneyTransferOfferAction.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: result });
101
104
  return { id: action.id };
102
105
  };
103
106
  }
@@ -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 };