@chevre/domain 24.0.0-alpha.4 → 24.0.0-alpha.40

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 (406) hide show
  1. package/lib/chevre/errorHandler.js +1 -1
  2. package/lib/chevre/factory/transaction.d.ts +0 -3
  3. package/lib/chevre/repo/accountTitle.d.ts +7 -3
  4. package/lib/chevre/repo/accountTransaction.js +1 -2
  5. package/lib/chevre/repo/action/acceptCOAOffer.d.ts +32 -0
  6. package/lib/chevre/repo/action/acceptCOAOffer.js +73 -0
  7. package/lib/chevre/repo/action/acceptPay.d.ts +40 -0
  8. package/lib/chevre/repo/action/acceptPay.js +93 -0
  9. package/lib/chevre/repo/action/actionProcess.d.ts +146 -0
  10. package/lib/chevre/repo/action/actionProcess.js +792 -0
  11. package/lib/chevre/repo/action/authorizeInvoice.d.ts +26 -0
  12. package/lib/chevre/repo/action/authorizeInvoice.js +49 -0
  13. package/lib/chevre/repo/action/authorizeOffer.d.ts +72 -0
  14. package/lib/chevre/repo/action/authorizeOffer.js +139 -0
  15. package/lib/chevre/repo/action/authorizePaymentMethod.d.ts +48 -0
  16. package/lib/chevre/repo/action/authorizePaymentMethod.js +64 -0
  17. package/lib/chevre/repo/action/authorizeProductOffer.d.ts +26 -0
  18. package/lib/chevre/repo/action/authorizeProductOffer.js +55 -0
  19. package/lib/chevre/repo/action/authorizeTicketedObject.d.ts +8 -0
  20. package/lib/chevre/repo/action/authorizeTicketedObject.js +11 -0
  21. package/lib/chevre/repo/action/checkMovieTicket.d.ts +111 -0
  22. package/lib/chevre/repo/action/checkMovieTicket.js +200 -0
  23. package/lib/chevre/repo/action/checkThing.d.ts +8 -0
  24. package/lib/chevre/repo/action/checkThing.js +13 -0
  25. package/lib/chevre/repo/action.d.ts +25 -269
  26. package/lib/chevre/repo/action.js +338 -1233
  27. package/lib/chevre/repo/aggregateAction.d.ts +102 -0
  28. package/lib/chevre/repo/aggregateAction.js +378 -0
  29. package/lib/chevre/repo/aggregateOffer.d.ts +10 -6
  30. package/lib/chevre/repo/aggregateOffer.js +1 -0
  31. package/lib/chevre/repo/assetTransaction.d.ts +47 -26
  32. package/lib/chevre/repo/assetTransaction.js +1 -0
  33. package/lib/chevre/repo/categoryCode.d.ts +8 -3
  34. package/lib/chevre/repo/comment.d.ts +7 -3
  35. package/lib/chevre/repo/creativeWork.d.ts +10 -9
  36. package/lib/chevre/repo/creativeWork.js +1 -0
  37. package/lib/chevre/repo/customer.d.ts +8 -3
  38. package/lib/chevre/repo/customerType.d.ts +1 -1
  39. package/lib/chevre/repo/customerType.js +1 -0
  40. package/lib/chevre/repo/event.d.ts +11 -23
  41. package/lib/chevre/repo/event.js +22 -23
  42. package/lib/chevre/repo/eventOffer.d.ts +3 -3
  43. package/lib/chevre/repo/eventOffer.js +1 -0
  44. package/lib/chevre/repo/eventSellerMakesOffer.d.ts +3 -3
  45. package/lib/chevre/repo/eventSellerMakesOffer.js +1 -0
  46. package/lib/chevre/repo/eventSeries.d.ts +10 -4
  47. package/lib/chevre/repo/identity.d.ts +12 -3
  48. package/lib/chevre/repo/identityProvider.d.ts +7 -18
  49. package/lib/chevre/repo/issuer.d.ts +8 -8
  50. package/lib/chevre/repo/member.d.ts +7 -3
  51. package/lib/chevre/repo/merchantReturnPolicy.d.ts +7 -3
  52. package/lib/chevre/repo/message.js +1 -1
  53. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.d.ts +4 -3
  54. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -3
  55. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +4 -3
  56. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +5 -4
  57. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +3 -2
  58. package/lib/chevre/repo/mongoose/schemas/action.d.ts +4 -3
  59. package/lib/chevre/repo/mongoose/schemas/actionRecipe.d.ts +4 -3
  60. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +5 -4
  61. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.d.ts +3 -2
  62. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.d.ts +4 -3
  63. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.d.ts +3 -2
  64. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.d.ts +4 -3
  65. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -3
  66. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +4 -3
  67. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +4 -3
  68. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +5 -4
  69. package/lib/chevre/repo/mongoose/schemas/civicStructure.d.ts +3 -2
  70. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +4 -3
  71. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +5 -4
  72. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +5 -4
  73. package/lib/chevre/repo/mongoose/schemas/customerType.d.ts +5 -4
  74. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +4 -3
  75. package/lib/chevre/repo/mongoose/schemas/event.d.ts +3 -2
  76. package/lib/chevre/repo/mongoose/schemas/eventOffer.d.ts +4 -3
  77. package/lib/chevre/repo/mongoose/schemas/eventSeries.d.ts +3 -2
  78. package/lib/chevre/repo/mongoose/schemas/identity.d.ts +4 -3
  79. package/lib/chevre/repo/mongoose/schemas/identityProvider.d.ts +4 -3
  80. package/lib/chevre/repo/mongoose/schemas/issuer.d.ts +4 -3
  81. package/lib/chevre/repo/mongoose/schemas/member/global.d.ts +4 -3
  82. package/lib/chevre/repo/mongoose/schemas/member.d.ts +4 -3
  83. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +4 -3
  84. package/lib/chevre/repo/mongoose/schemas/message.d.ts +5 -4
  85. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.d.ts +4 -3
  86. package/lib/chevre/repo/mongoose/schemas/note.d.ts +3 -2
  87. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +4 -3
  88. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.d.ts +4 -3
  89. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +5 -4
  90. package/lib/chevre/repo/mongoose/schemas/order.d.ts +4 -3
  91. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +6 -5
  92. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +78 -71
  93. package/lib/chevre/repo/mongoose/schemas/paymentService.d.ts +4 -3
  94. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.d.ts +4 -3
  95. package/lib/chevre/repo/mongoose/schemas/pendingReservation.d.ts +4 -3
  96. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.d.ts +4 -3
  97. package/lib/chevre/repo/mongoose/schemas/place.d.ts +3 -2
  98. package/lib/chevre/repo/mongoose/schemas/potentialAction.d.ts +4 -3
  99. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +6 -3
  100. package/lib/chevre/repo/mongoose/schemas/product.d.ts +4 -3
  101. package/lib/chevre/repo/mongoose/schemas/productModel.d.ts +6 -5
  102. package/lib/chevre/repo/mongoose/schemas/productOffer.d.ts +3 -2
  103. package/lib/chevre/repo/mongoose/schemas/project.d.ts +4 -3
  104. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +5 -4
  105. package/lib/chevre/repo/mongoose/schemas/reserveInterface.d.ts +4 -3
  106. package/lib/chevre/repo/mongoose/schemas/role.d.ts +3 -2
  107. package/lib/chevre/repo/mongoose/schemas/schedule.d.ts +5 -4
  108. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +4 -3
  109. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.d.ts +4 -3
  110. package/lib/chevre/repo/mongoose/schemas/service/availableHour.d.ts +3 -2
  111. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +5 -4
  112. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +4 -3
  113. package/lib/chevre/repo/mongoose/schemas/task.d.ts +4 -3
  114. package/lib/chevre/repo/mongoose/schemas/task.js +1 -0
  115. package/lib/chevre/repo/mongoose/schemas/ticket.d.ts +4 -3
  116. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +7 -4
  117. package/lib/chevre/repo/mongoose/schemas/transaction.js +31 -0
  118. package/lib/chevre/repo/mongoose/schemas/transactionNumber.d.ts +3 -2
  119. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +4 -3
  120. package/lib/chevre/repo/mongoose/schemas/webSite.d.ts +4 -3
  121. package/lib/chevre/repo/mongoose/virtuals.d.ts +3 -0
  122. package/lib/chevre/repo/mongoose/virtuals.js +2 -0
  123. package/lib/chevre/repo/movieTicketType.d.ts +2 -1
  124. package/lib/chevre/repo/note.d.ts +3 -3
  125. package/lib/chevre/repo/note.js +1 -0
  126. package/lib/chevre/repo/noteAboutOrder.d.ts +1 -1
  127. package/lib/chevre/repo/noteAboutOrder.js +1 -0
  128. package/lib/chevre/repo/offerCatalog.d.ts +11 -7
  129. package/lib/chevre/repo/offerCatalog.js +1 -0
  130. package/lib/chevre/repo/offerCatalogItem.d.ts +3 -3
  131. package/lib/chevre/repo/offerCatalogItem.js +1 -0
  132. package/lib/chevre/repo/order.d.ts +8 -7
  133. package/lib/chevre/repo/order.js +3 -1
  134. package/lib/chevre/repo/orderInTransaction.d.ts +8 -0
  135. package/lib/chevre/repo/orderInTransaction.js +16 -2
  136. package/lib/chevre/repo/orderNumber.d.ts +3 -2
  137. package/lib/chevre/repo/orderNumber.js +23 -28
  138. package/lib/chevre/repo/ownershipInfo.d.ts +15 -8
  139. package/lib/chevre/repo/ownershipInfo.js +13 -10
  140. package/lib/chevre/repo/passport.d.ts +1 -1
  141. package/lib/chevre/repo/paymentService.d.ts +0 -13
  142. package/lib/chevre/repo/paymentService.js +5 -5
  143. package/lib/chevre/repo/pendingReservation.js +0 -1
  144. package/lib/chevre/repo/place/hasPOS.js +3 -3
  145. package/lib/chevre/repo/place/movieTheater.d.ts +7 -3
  146. package/lib/chevre/repo/place/screeningRoom.d.ts +7 -3
  147. package/lib/chevre/repo/place/seat.d.ts +6 -6
  148. package/lib/chevre/repo/place/seat.js +3 -0
  149. package/lib/chevre/repo/potentialAction.d.ts +7 -26
  150. package/lib/chevre/repo/priceSpecification.d.ts +51 -24
  151. package/lib/chevre/repo/priceSpecification.js +9 -13
  152. package/lib/chevre/repo/product.d.ts +11 -7
  153. package/lib/chevre/repo/product.js +1 -0
  154. package/lib/chevre/repo/productModel.d.ts +3 -1
  155. package/lib/chevre/repo/productModel.js +15 -11
  156. package/lib/chevre/repo/productOffer.d.ts +3 -3
  157. package/lib/chevre/repo/productOffer.js +1 -0
  158. package/lib/chevre/repo/project.d.ts +8 -11
  159. package/lib/chevre/repo/reservation.d.ts +12 -29
  160. package/lib/chevre/repo/reservation.js +36 -48
  161. package/lib/chevre/repo/reserveInterface.js +4 -4
  162. package/lib/chevre/repo/role.d.ts +39 -3
  163. package/lib/chevre/repo/schedule.js +1 -1
  164. package/lib/chevre/repo/seller.d.ts +7 -50
  165. package/lib/chevre/repo/sellerMakesOffer.d.ts +2 -2
  166. package/lib/chevre/repo/sellerMakesOffer.js +2 -0
  167. package/lib/chevre/repo/task.d.ts +8 -68
  168. package/lib/chevre/repo/transaction/placeOrder.d.ts +140 -0
  169. package/lib/chevre/repo/transaction/placeOrder.js +528 -0
  170. package/lib/chevre/repo/transaction/returnOrder.d.ts +45 -0
  171. package/lib/chevre/repo/transaction/returnOrder.js +341 -0
  172. package/lib/chevre/repo/transaction.d.ts +71 -142
  173. package/lib/chevre/repo/transaction.js +727 -632
  174. package/lib/chevre/repository.d.ts +64 -5
  175. package/lib/chevre/repository.js +140 -13
  176. package/lib/chevre/service/aggregation/system.d.ts +10 -10
  177. package/lib/chevre/service/aggregation/system.js +9 -9
  178. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +1 -17
  179. package/lib/chevre/service/assetTransaction/pay/check.d.ts +5 -4
  180. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +7 -4
  181. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +3 -3
  182. package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +51 -3
  183. package/lib/chevre/service/assetTransaction/pay/start/factory.js +58 -21
  184. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.d.ts +10 -0
  185. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.js +88 -0
  186. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +57 -0
  187. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.js +56 -0
  188. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +2 -2
  189. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +3 -1
  190. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +1 -11
  191. package/lib/chevre/service/assetTransaction/pay/start.d.ts +4 -0
  192. package/lib/chevre/service/assetTransaction/pay/start.js +8 -132
  193. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +1 -41
  194. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +1 -11
  195. package/lib/chevre/service/assetTransaction/reserve/start.js +2 -5
  196. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.d.ts +19 -4
  197. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +7 -1
  198. package/lib/chevre/service/assetTransaction.d.ts +1 -1
  199. package/lib/chevre/service/delivery/factory.js +44 -41
  200. package/lib/chevre/service/delivery/product/factory.js +2 -4
  201. package/lib/chevre/service/delivery/reservation/factory.js +17 -22
  202. package/lib/chevre/service/notification/triggerWebhook.d.ts +7 -6
  203. package/lib/chevre/service/offer/any.d.ts +1 -1
  204. package/lib/chevre/service/offer/event/authorize/factory.js +0 -40
  205. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.d.ts +0 -2
  206. package/lib/chevre/service/offer/event/authorize.d.ts +6 -5
  207. package/lib/chevre/service/offer/event/authorize.js +25 -24
  208. package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +17 -15
  209. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +4 -4
  210. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +0 -2
  211. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -0
  212. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.d.ts +2 -0
  213. package/lib/chevre/service/offer/event/voidTransaction.d.ts +10 -3
  214. package/lib/chevre/service/offer/event/voidTransaction.js +14 -13
  215. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +8 -3
  216. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +4 -4
  217. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.d.ts +16 -5
  218. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +7 -7
  219. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +0 -2
  220. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +6 -4
  221. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +3 -10
  222. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +21 -13
  223. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +19 -10
  224. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.d.ts +2 -2
  225. package/lib/chevre/service/offer/product/factory.d.ts +5 -5
  226. package/lib/chevre/service/offer/product/factory.js +13 -5
  227. package/lib/chevre/service/offer/product.d.ts +9 -7
  228. package/lib/chevre/service/offer/product.js +20 -16
  229. package/lib/chevre/service/offer.d.ts +1 -2
  230. package/lib/chevre/service/offer.js +1 -3
  231. package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
  232. package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
  233. package/lib/chevre/service/order/deleteOrder.js +2 -2
  234. package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +2 -2
  235. package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -1
  236. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.d.ts +16 -0
  237. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +97 -0
  238. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.d.ts +21 -0
  239. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +86 -0
  240. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +22 -0
  241. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +112 -0
  242. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.d.ts +22 -0
  243. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.js +74 -0
  244. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +25 -0
  245. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +111 -0
  246. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.d.ts +16 -0
  247. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.js +74 -0
  248. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +8 -30
  249. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +37 -348
  250. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  251. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +6 -7
  252. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
  253. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +6 -5
  254. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +7 -6
  255. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
  256. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +54 -37
  257. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  258. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +78 -64
  259. package/lib/chevre/service/order/payOrder.d.ts +2 -2
  260. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +12 -8
  261. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +41 -26
  262. package/lib/chevre/service/order/placeOrder/factory/orderedItem.d.ts +0 -1
  263. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +3 -28
  264. package/lib/chevre/service/order/placeOrder/factory.js +5 -6
  265. package/lib/chevre/service/order/placeOrder.d.ts +17 -12
  266. package/lib/chevre/service/order/placeOrder.js +7 -2
  267. package/lib/chevre/service/order/returnOrder.d.ts +2 -2
  268. package/lib/chevre/service/order/returnOrder.js +1 -1
  269. package/lib/chevre/service/order/sendOrder.d.ts +6 -6
  270. package/lib/chevre/service/order/sendOrder.js +14 -10
  271. package/lib/chevre/service/order.d.ts +3 -6
  272. package/lib/chevre/service/order.js +3 -9
  273. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.d.ts → authorize/fixOrderAsNeeded.d.ts} +6 -6
  274. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.js → authorize/fixOrderAsNeeded.js} +5 -8
  275. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +8 -5
  276. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +14 -10
  277. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +34 -17
  278. package/lib/chevre/service/payment/any/authorize.d.ts +98 -0
  279. package/lib/chevre/service/payment/any/authorize.js +239 -0
  280. package/lib/chevre/service/payment/any/factory.js +1 -0
  281. package/lib/chevre/service/payment/any/findAcceptAction.d.ts +43 -0
  282. package/lib/chevre/service/payment/any/findAcceptAction.js +94 -0
  283. package/lib/chevre/service/payment/any/findAuthorizeAction.d.ts +42 -0
  284. package/lib/chevre/service/payment/any/findAuthorizeAction.js +83 -0
  285. package/lib/chevre/service/payment/any/findCheckAction.d.ts +45 -0
  286. package/lib/chevre/service/payment/any/findCheckAction.js +89 -0
  287. package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +29 -0
  288. package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +187 -0
  289. package/lib/chevre/service/payment/any/onPayActionCompleted.d.ts +7 -3
  290. package/lib/chevre/service/payment/any/onPayActionCompleted.js +3 -0
  291. package/lib/chevre/service/payment/any/processVoidPayTransaction.d.ts +30 -0
  292. package/lib/chevre/service/payment/any/processVoidPayTransaction.js +125 -0
  293. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.d.ts +2 -2
  294. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +66 -0
  295. package/lib/chevre/service/payment/any/publishPaymentUrl.js +133 -0
  296. package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +34 -0
  297. package/lib/chevre/service/payment/any/voidPayTransaction.js +38 -0
  298. package/lib/chevre/service/payment/any.d.ts +8 -305
  299. package/lib/chevre/service/payment/any.js +17 -857
  300. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.d.ts +8 -6
  301. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +3 -3
  302. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.d.ts +8 -6
  303. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +3 -3
  304. package/lib/chevre/service/payment/creditCard/authorize.d.ts +3 -2
  305. package/lib/chevre/service/payment/creditCard/authorize.js +2 -2
  306. package/lib/chevre/service/payment/creditCard/voidTransaction.d.ts +9 -8
  307. package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -7
  308. package/lib/chevre/service/payment/movieTicket/authorize.d.ts +2 -0
  309. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.d.ts +3 -3
  310. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +3 -3
  311. package/lib/chevre/service/payment/movieTicket/validation.d.ts +11 -10
  312. package/lib/chevre/service/payment/movieTicket/validation.js +25 -15
  313. package/lib/chevre/service/reserve/cancelReservation.js +5 -12
  314. package/lib/chevre/service/reserve/confirmReservation.js +1 -1
  315. package/lib/chevre/service/reserve/findByCode.d.ts +1 -1
  316. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +1 -2
  317. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +1 -0
  318. package/lib/chevre/service/reserve/searchByOrder.d.ts +1 -1
  319. package/lib/chevre/service/task/acceptCOAOffer.js +11 -6
  320. package/lib/chevre/service/task/authorizePayment.js +16 -5
  321. package/lib/chevre/service/task/checkMovieTicket.js +3 -3
  322. package/lib/chevre/service/task/checkResource.js +2 -2
  323. package/lib/chevre/service/task/confirmPayTransaction.js +2 -2
  324. package/lib/chevre/service/task/deletePerson.js +0 -1
  325. package/lib/chevre/service/task/deleteTransaction.js +5 -1
  326. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -2
  327. package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -2
  328. package/lib/chevre/service/task/pay.js +3 -1
  329. package/lib/chevre/service/task/payment/payByTask.d.ts +15 -12
  330. package/lib/chevre/service/task/payment/payByTask.js +1 -1
  331. package/lib/chevre/service/task/payment/voidPaymentByTask.d.ts +2 -0
  332. package/lib/chevre/service/task/placeOrder.js +10 -4
  333. package/lib/chevre/service/task/publishPaymentUrl.js +11 -5
  334. package/lib/chevre/service/task/returnOrder.js +4 -4
  335. package/lib/chevre/service/task/returnPayTransaction.js +4 -3
  336. package/lib/chevre/service/task/sendOrder.js +4 -4
  337. package/lib/chevre/service/task/syncResourcesFromCOA.js +2 -0
  338. package/lib/chevre/service/task/voidPayTransaction.js +10 -4
  339. package/lib/chevre/service/task/voidPayment.js +2 -0
  340. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +7 -6
  341. package/lib/chevre/service/task/voidReserveTransaction.js +8 -3
  342. package/lib/chevre/service/transaction/deleteTransaction.d.ts +4 -0
  343. package/lib/chevre/service/transaction/deleteTransaction.js +45 -47
  344. package/lib/chevre/service/transaction/placeOrder/confirm/validation/factory.d.ts +1 -1
  345. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.d.ts +2 -2
  346. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +2 -3
  347. package/lib/chevre/service/transaction/placeOrder/confirm/validation.d.ts +3 -3
  348. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +4 -6
  349. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +10 -5
  350. package/lib/chevre/service/transaction/placeOrder/confirm.js +77 -53
  351. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +2 -15
  352. package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +7 -6
  353. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +1 -1
  354. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.d.ts → issueOrderNumberIfNotExist.d.ts} +4 -4
  355. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.js → issueOrderNumberIfNotExist.js} +21 -13
  356. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +2 -2
  357. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +3 -3
  358. package/lib/chevre/service/transaction/placeOrder/start.d.ts +3 -3
  359. package/lib/chevre/service/transaction/placeOrder/start.js +2 -2
  360. package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +23 -0
  361. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +126 -0
  362. package/lib/chevre/service/transaction/placeOrder.d.ts +2 -1
  363. package/lib/chevre/service/transaction/placeOrder.js +3 -1
  364. package/lib/chevre/service/transaction/returnOrder/preStart.d.ts +1 -1
  365. package/lib/chevre/service/transaction/returnOrder.d.ts +16 -14
  366. package/lib/chevre/service/transaction/returnOrder.js +4 -4
  367. package/lib/chevre/service/transaction.d.ts +8 -24
  368. package/lib/chevre/service/transaction.js +6 -122
  369. package/lib/chevre/service/validation/validateOrder.js +3 -5
  370. package/lib/chevre/service.d.ts +0 -4
  371. package/lib/chevre/service.js +1 -12
  372. package/package.json +5 -5
  373. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +0 -9
  374. package/lib/chevre/repo/mongoose/schemas/telemetry.js +0 -80
  375. package/lib/chevre/repo/telemetry.d.ts +0 -9
  376. package/lib/chevre/repo/telemetry.js +0 -14
  377. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +0 -37
  378. package/lib/chevre/service/offer/moneyTransfer/authorize.js +0 -247
  379. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.d.ts +0 -16
  380. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +0 -96
  381. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.d.ts +0 -9
  382. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +0 -91
  383. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.d.ts +0 -9
  384. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +0 -78
  385. package/lib/chevre/service/offer/moneyTransfer.d.ts +0 -5
  386. package/lib/chevre/service/offer/moneyTransfer.js +0 -11
  387. package/lib/chevre/service/report/ownershipInfo.d.ts +0 -27
  388. package/lib/chevre/service/report/ownershipInfo.js +0 -39
  389. package/lib/chevre/service/report/telemetry.d.ts +0 -309
  390. package/lib/chevre/service/report/telemetry.js +0 -449
  391. package/lib/chevre/service/report.d.ts +0 -6
  392. package/lib/chevre/service/report.js +0 -33
  393. package/lib/chevre/service/task/confirmMoneyTransfer.d.ts +0 -6
  394. package/lib/chevre/service/task/confirmMoneyTransfer.js +0 -19
  395. package/lib/chevre/service/task/returnMoneyTransfer.d.ts +0 -6
  396. package/lib/chevre/service/task/returnMoneyTransfer.js +0 -55
  397. package/lib/chevre/service/task/voidMoneyTransferTransaction.d.ts +0 -6
  398. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +0 -22
  399. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.d.ts +0 -9
  400. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +0 -138
  401. package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +0 -2
  402. package/lib/chevre/service/transaction/moneyTransfer/factory.js +0 -55
  403. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +0 -9
  404. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +0 -65
  405. package/lib/chevre/service/transaction/moneyTransfer.d.ts +0 -69
  406. package/lib/chevre/service/transaction/moneyTransfer.js +0 -649
@@ -0,0 +1,140 @@
1
+ import type { Connection, FilterQuery } from 'mongoose';
2
+ import * as factory from '../../factory';
3
+ type IKeyOfProjection = 'agent' | 'endDate' | 'expires' | 'project' | 'startDate' | 'status' | 'typeOf' | 'instrument' | 'object' | 'seller' | 'result' | 'potentialActions' | 'error' | 'tasksExportAction';
4
+ export type ITransactionInProgress = Pick<factory.transaction.placeOrder.ITransaction, IKeyOfProjection> & {
5
+ /**
6
+ * 取引ID
7
+ * 常にprojectされる
8
+ */
9
+ id: string;
10
+ };
11
+ export type IPlaceOrder = Pick<factory.transaction.placeOrder.ITransaction, IKeyOfProjection> & {
12
+ /**
13
+ * 取引ID
14
+ * 常にprojectされる
15
+ */
16
+ id: string;
17
+ };
18
+ type IStartedPlaceOrderFields = 'expires' | 'id' | 'startDate' | 'status';
19
+ export type IStartedPlaceOrder = Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, IStartedPlaceOrderFields>;
20
+ /**
21
+ * 注文取引リポジトリ
22
+ */
23
+ export declare class PlaceOrderRepo {
24
+ private readonly transactionModel;
25
+ constructor(connection: Connection);
26
+ static CREATE_MONGO_CONDITIONS(params: factory.transaction.ISearchConditions<factory.transactionType.PlaceOrder>): FilterQuery<import("@chevre/factory/lib/transaction/placeOrder").ITransaction>[];
27
+ countPlaceOrder(params: factory.transaction.ISearchConditions<factory.transactionType.PlaceOrder>): Promise<{
28
+ count: number;
29
+ }>;
30
+ /**
31
+ * 取引を検索する
32
+ */
33
+ findPlaceOrderTransactions(params: factory.transaction.ISearchConditions<factory.transactionType.PlaceOrder> & {
34
+ inclusion: IKeyOfProjection[];
35
+ }): Promise<(Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, IKeyOfProjection> & {
36
+ id: string;
37
+ })[]>;
38
+ /**
39
+ * 進行中取引に保管された採用済決済方法を検索する
40
+ */
41
+ findInProgressPaymentMethodId(params: {
42
+ id: string;
43
+ }): Promise<factory.transaction.placeOrder.IPaymentMethodByPaymentUrl | undefined>;
44
+ /**
45
+ * 取引の注文番号を検索する
46
+ */
47
+ findInProgressOrderNumberById(params: {
48
+ id: string;
49
+ }): Promise<string | undefined>;
50
+ /**
51
+ * 取引の確認番号を検索する
52
+ */
53
+ findInProgressConfirmationNumberById(params: {
54
+ id: string;
55
+ status: {
56
+ $in: factory.transactionStatusType[];
57
+ };
58
+ }): Promise<string | undefined>;
59
+ /**
60
+ * 取引期限変更
61
+ */
62
+ updateExpires(params: {
63
+ typeOf: factory.transactionType.PlaceOrder;
64
+ id: string;
65
+ expires: Date;
66
+ }): Promise<void>;
67
+ /**
68
+ * 取引オブジェクトを更新
69
+ * 注文名称など
70
+ */
71
+ updateObject(params: {
72
+ typeOf: factory.transactionType.PlaceOrder;
73
+ id: string;
74
+ object?: {
75
+ name?: string;
76
+ };
77
+ }): Promise<void>;
78
+ /**
79
+ * 特定の進行中取引を更新する(汎用)
80
+ */
81
+ findByIdAndUpdateInProgress(params: {
82
+ id: string;
83
+ update: {
84
+ $set?: {
85
+ 'object.paymentMethods'?: factory.transaction.placeOrder.IPaymentMethodByPaymentUrl;
86
+ };
87
+ };
88
+ }): Promise<void>;
89
+ /**
90
+ * 進行中取引のobjectに注文番号を保管する
91
+ */
92
+ saveOrderNumberIfNotExist(params: {
93
+ id: string;
94
+ orderNumber: string;
95
+ }): Promise<{
96
+ modifiedCount: number;
97
+ }>;
98
+ saveConfirmationNumberIfNotExist(params: {
99
+ id: string;
100
+ status: {
101
+ $in: factory.transactionStatusType[];
102
+ };
103
+ confirmationNumber: string;
104
+ }): Promise<void>;
105
+ /**
106
+ * 進行中の注文取引を取得する
107
+ */
108
+ findPlaceOrderInProgressById(params: {
109
+ typeOf: factory.transactionType.PlaceOrder;
110
+ id: string;
111
+ }, inclusion: IKeyOfProjection[]): Promise<ITransactionInProgress>;
112
+ /**
113
+ * 特定注文取引参照
114
+ */
115
+ findPlaceOrderById(params: {
116
+ typeOf: factory.transactionType.PlaceOrder;
117
+ id: string;
118
+ }, inclusion: IKeyOfProjection[]): Promise<IPlaceOrder>;
119
+ /**
120
+ * 取引を開始する
121
+ */
122
+ startPlaceOrder(params: factory.transaction.IStartParams<factory.transactionType.PlaceOrder>): Promise<IStartedPlaceOrder>;
123
+ /**
124
+ * 取引を確定する
125
+ */
126
+ confirmPlaceOrder(params: {
127
+ typeOf: factory.transactionType.PlaceOrder;
128
+ id: string;
129
+ result: factory.transaction.IResult<factory.transactionType.PlaceOrder>;
130
+ potentialActions: factory.transaction.IPotentialActions<factory.transactionType.PlaceOrder>;
131
+ }): Promise<void>;
132
+ /**
133
+ * 取引を中止する
134
+ */
135
+ cancelPlaceOrder(params: {
136
+ typeOf: factory.transactionType.PlaceOrder;
137
+ id: string;
138
+ }): Promise<void>;
139
+ }
140
+ export {};
@@ -0,0 +1,528 @@
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.PlaceOrderRepo = void 0;
30
+ const moment_1 = __importDefault(require("moment"));
31
+ const transaction_1 = require("../../eventEmitter/transaction");
32
+ const factory = __importStar(require("../../factory"));
33
+ const settings_1 = require("../../settings");
34
+ const transaction_2 = require("../mongoose/schemas/transaction");
35
+ const AVAILABLE_PROJECT_FIELDS = [
36
+ 'project',
37
+ 'status',
38
+ 'typeOf',
39
+ 'agent',
40
+ 'seller',
41
+ 'object',
42
+ 'expires',
43
+ 'startDate',
44
+ 'endDate',
45
+ 'instrument',
46
+ 'result',
47
+ 'potentialActions',
48
+ // 'recipient',
49
+ 'error',
50
+ 'tasksExportAction',
51
+ ];
52
+ /**
53
+ * 注文取引リポジトリ
54
+ */
55
+ class PlaceOrderRepo {
56
+ transactionModel;
57
+ constructor(connection) {
58
+ this.transactionModel = connection.model(transaction_2.modelName, (0, transaction_2.createSchema)());
59
+ }
60
+ static CREATE_MONGO_CONDITIONS(params) {
61
+ if (params.typeOf !== factory.transactionType.PlaceOrder) {
62
+ throw new factory.errors.Argument('typeOf', `must be ${factory.transactionType.PlaceOrder}`);
63
+ }
64
+ const andConditions = [];
65
+ const projectIdEq = params.project?.id?.$eq;
66
+ if (typeof projectIdEq === 'string') {
67
+ andConditions.push({ 'project.id': { $eq: projectIdEq } });
68
+ }
69
+ if (typeof params.typeOf === 'string') {
70
+ andConditions.push({ typeOf: { $eq: params.typeOf } });
71
+ }
72
+ if (params.startFrom !== undefined) {
73
+ andConditions.push({
74
+ startDate: { $gte: params.startFrom }
75
+ });
76
+ }
77
+ if (params.startThrough !== undefined) {
78
+ andConditions.push({
79
+ startDate: { $lte: params.startThrough }
80
+ });
81
+ }
82
+ if (params.endFrom !== undefined) {
83
+ andConditions.push({
84
+ endDate: {
85
+ $exists: true,
86
+ $gte: params.endFrom
87
+ }
88
+ });
89
+ }
90
+ if (params.endThrough !== undefined) {
91
+ andConditions.push({
92
+ endDate: {
93
+ $exists: true,
94
+ $lt: params.endThrough
95
+ }
96
+ });
97
+ }
98
+ if (Array.isArray(params.ids)) {
99
+ andConditions.push({
100
+ _id: { $in: params.ids }
101
+ });
102
+ }
103
+ if (Array.isArray(params.statuses)) {
104
+ andConditions.push({ status: { $in: params.statuses } });
105
+ }
106
+ const statusIn = params.status?.$in;
107
+ if (Array.isArray(statusIn)) {
108
+ andConditions.push({ status: { $in: statusIn } });
109
+ }
110
+ if (params.agent !== undefined) {
111
+ if (params.agent.typeOf !== undefined) {
112
+ andConditions.push({
113
+ 'agent.typeOf': {
114
+ $exists: true,
115
+ $eq: params.agent.typeOf
116
+ }
117
+ });
118
+ }
119
+ if (Array.isArray(params.agent.ids)) {
120
+ andConditions.push({
121
+ 'agent.id': {
122
+ $exists: true,
123
+ $in: params.agent.ids
124
+ }
125
+ });
126
+ }
127
+ if (Array.isArray(params.agent.identifiers)) {
128
+ andConditions.push({
129
+ 'agent.identifier': {
130
+ $exists: true,
131
+ $in: params.agent.identifiers
132
+ }
133
+ });
134
+ }
135
+ }
136
+ const tasksExportActionStatusIn = params.tasksExportAction?.actionStatus?.$in;
137
+ if (Array.isArray(tasksExportActionStatusIn)) {
138
+ andConditions.push({ 'tasksExportAction.actionStatus': { $exists: true, $in: tasksExportActionStatusIn } });
139
+ }
140
+ const tasksExportActionStatusEq = params.tasksExportAction?.actionStatus?.$eq;
141
+ if (typeof tasksExportActionStatusEq === 'string') {
142
+ andConditions.push({ 'tasksExportAction.actionStatus': { $exists: true, $eq: tasksExportActionStatusEq } });
143
+ }
144
+ const sellerIdIn = params.seller?.ids;
145
+ if (Array.isArray(sellerIdIn)) {
146
+ andConditions.push({ 'seller.id': { $exists: true, $in: sellerIdIn } });
147
+ }
148
+ const resultOrderNumberIn = params.result?.order?.orderNumbers;
149
+ if (Array.isArray(resultOrderNumberIn)) {
150
+ andConditions.push({ 'result.order.orderNumber': { $exists: true, $in: resultOrderNumberIn } });
151
+ }
152
+ const resultOrderConfirmationNumberEq = params.result?.order?.confirmationNumber?.$eq;
153
+ if (typeof resultOrderConfirmationNumberEq === 'string') {
154
+ andConditions.push({
155
+ 'result.order.confirmationNumber': { $exists: true, $eq: resultOrderConfirmationNumberEq }
156
+ });
157
+ }
158
+ const objectOrderNumberEq = params.object?.orderNumber?.$eq;
159
+ if (typeof objectOrderNumberEq === 'string') {
160
+ andConditions.push({ 'object.orderNumber': { $exists: true, $eq: objectOrderNumberEq } });
161
+ }
162
+ return andConditions;
163
+ }
164
+ async countPlaceOrder(params) {
165
+ const { limit } = params;
166
+ const conditions = PlaceOrderRepo.CREATE_MONGO_CONDITIONS(params);
167
+ const query = this.transactionModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {});
168
+ if (typeof limit === 'number' && limit >= 0) {
169
+ query.limit(limit);
170
+ }
171
+ const count = await query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
172
+ .exec();
173
+ return { count };
174
+ }
175
+ /**
176
+ * 取引を検索する
177
+ */
178
+ async findPlaceOrderTransactions(params) {
179
+ const { inclusion } = params;
180
+ const conditions = PlaceOrderRepo.CREATE_MONGO_CONDITIONS(params);
181
+ let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
182
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
183
+ positiveProjectionFields = positiveProjectionFields.filter((key) => inclusion.includes(key));
184
+ }
185
+ const projection = {
186
+ _id: 0,
187
+ id: { $toString: '$_id' },
188
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
189
+ };
190
+ const query = this.transactionModel.find((conditions.length > 0) ? { $and: conditions } : {})
191
+ .select(projection);
192
+ if (typeof params.limit === 'number' && params.limit > 0) {
193
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
194
+ query.limit(params.limit)
195
+ .skip(params.limit * (page - 1));
196
+ }
197
+ if (params.sort?.startDate !== undefined) {
198
+ query.sort({ startDate: params.sort.startDate });
199
+ }
200
+ // const explainResult = await (<any>query).explain();
201
+ // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
202
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
203
+ .lean()
204
+ .exec();
205
+ }
206
+ /**
207
+ * 進行中取引に保管された採用済決済方法を検索する
208
+ */
209
+ async findInProgressPaymentMethodId(params) {
210
+ const doc = await this.transactionModel.findOne({
211
+ _id: { $eq: params.id },
212
+ typeOf: { $eq: factory.transactionType.PlaceOrder },
213
+ status: { $eq: factory.transactionStatusType.InProgress }
214
+ }, { 'object.paymentMethods': 1 })
215
+ .lean() // 2024-08-26~
216
+ .exec();
217
+ if (doc === null) {
218
+ throw new factory.errors.NotFound(this.transactionModel.modelName, `${factory.transactionType.PlaceOrder} ${factory.transactionStatusType.InProgress} not found`);
219
+ }
220
+ return doc.object.paymentMethods;
221
+ }
222
+ /**
223
+ * 取引の注文番号を検索する
224
+ */
225
+ async findInProgressOrderNumberById(params) {
226
+ const doc = await this.transactionModel.findOne({
227
+ _id: { $eq: params.id },
228
+ typeOf: { $eq: factory.transactionType.PlaceOrder },
229
+ status: { $eq: factory.transactionStatusType.InProgress }
230
+ }, { 'object.orderNumber': 1 })
231
+ .lean() // 2024-08-26~
232
+ .exec();
233
+ if (doc === null) {
234
+ throw new factory.errors.NotFound(this.transactionModel.modelName, `${factory.transactionType.PlaceOrder} ${factory.transactionStatusType.InProgress} not found`);
235
+ }
236
+ return doc.object.orderNumber;
237
+ }
238
+ /**
239
+ * 取引の確認番号を検索する
240
+ */
241
+ async findInProgressConfirmationNumberById(params) {
242
+ const doc = await this.transactionModel.findOne({
243
+ _id: { $eq: params.id },
244
+ typeOf: { $eq: factory.transactionType.PlaceOrder },
245
+ status: { $in: params.status.$in }
246
+ }, { 'object.confirmationNumber': 1 })
247
+ .lean() // 2024-08-26~
248
+ .exec();
249
+ if (doc === null) {
250
+ throw new factory.errors.NotFound(this.transactionModel.modelName, `${factory.transactionType.PlaceOrder} ${params.status.$in.join(' or ')} not found`);
251
+ }
252
+ return doc.object.confirmationNumber;
253
+ }
254
+ /**
255
+ * 取引期限変更
256
+ */
257
+ async updateExpires(params) {
258
+ const doc = await this.transactionModel.findOneAndUpdate({
259
+ _id: { $eq: params.id },
260
+ typeOf: { $eq: params.typeOf },
261
+ status: { $eq: factory.transactionStatusType.InProgress }
262
+ }, {
263
+ $set: {
264
+ expires: params.expires
265
+ }
266
+ }, {
267
+ projection: { _id: 1 }
268
+ })
269
+ .lean()
270
+ .exec();
271
+ if (doc === null) {
272
+ throw new factory.errors.NotFound(this.transactionModel.modelName, `${params.typeOf} ${factory.transactionStatusType.InProgress} not found`);
273
+ }
274
+ }
275
+ /**
276
+ * 取引オブジェクトを更新
277
+ * 注文名称など
278
+ */
279
+ async updateObject(params) {
280
+ const doc = await this.transactionModel.findOneAndUpdate({
281
+ _id: { $eq: params.id },
282
+ typeOf: { $eq: params.typeOf },
283
+ status: { $eq: factory.transactionStatusType.InProgress }
284
+ }, {
285
+ $set: {
286
+ ...(typeof params.object?.name === 'string') ? { 'object.name': params.object.name } : undefined
287
+ }
288
+ }, {
289
+ projection: { _id: 1 }
290
+ })
291
+ .lean()
292
+ .exec();
293
+ if (doc === null) {
294
+ throw new factory.errors.NotFound(this.transactionModel.modelName, `${params.typeOf} ${factory.transactionStatusType.InProgress} not found`);
295
+ }
296
+ }
297
+ /**
298
+ * 特定の進行中取引を更新する(汎用)
299
+ */
300
+ async findByIdAndUpdateInProgress(params) {
301
+ await this.transactionModel.findOneAndUpdate({
302
+ _id: { $eq: params.id },
303
+ status: { $eq: factory.transactionStatusType.InProgress }
304
+ }, params.update, {
305
+ // new: true,
306
+ projection: { _id: 1 }
307
+ })
308
+ .lean()
309
+ .exec()
310
+ .then((doc) => {
311
+ if (doc === null) {
312
+ throw new factory.errors.ArgumentNull(this.transactionModel.modelName);
313
+ }
314
+ });
315
+ }
316
+ /**
317
+ * 進行中取引のobjectに注文番号を保管する
318
+ */
319
+ async saveOrderNumberIfNotExist(params) {
320
+ const result = await this.transactionModel.updateOne({
321
+ _id: { $eq: params.id },
322
+ status: { $eq: factory.transactionStatusType.InProgress },
323
+ 'object.orderNumber': { $exists: false }
324
+ }, { $set: { 'object.orderNumber': params.orderNumber } })
325
+ .exec();
326
+ return { modifiedCount: result.modifiedCount };
327
+ }
328
+ async saveConfirmationNumberIfNotExist(params) {
329
+ await this.transactionModel.updateOne({
330
+ _id: { $eq: params.id },
331
+ // status: { $eq: factory.transactionStatusType.InProgress },
332
+ status: { $in: params.status.$in },
333
+ 'object.confirmationNumber': { $exists: false }
334
+ }, { $set: { 'object.confirmationNumber': params.confirmationNumber } })
335
+ .exec();
336
+ }
337
+ /**
338
+ * 進行中の注文取引を取得する
339
+ */
340
+ async findPlaceOrderInProgressById(params, inclusion // make required(2024-05-29~)
341
+ ) {
342
+ let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
343
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
344
+ positiveProjectionFields = positiveProjectionFields.filter((key) => inclusion.includes(key));
345
+ }
346
+ else {
347
+ throw new factory.errors.NotImplemented('inclusion must be specified'); // 2024-08-26~
348
+ }
349
+ const projection = {
350
+ _id: 0,
351
+ id: { $toString: '$_id' },
352
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
353
+ };
354
+ const filter = {
355
+ _id: { $eq: params.id },
356
+ typeOf: { $eq: params.typeOf },
357
+ status: { $eq: factory.transactionStatusType.InProgress },
358
+ // expiresを条件に追加(2023-05-12~),
359
+ expires: { $gt: new Date() }
360
+ };
361
+ const doc = await this.transactionModel.findOne(filter, projection)
362
+ .lean()
363
+ .exec();
364
+ if (doc === null) {
365
+ throw new factory.errors.NotFound(this.transactionModel.modelName, `${params.typeOf} ${factory.transactionStatusType.InProgress} not found`);
366
+ }
367
+ return doc;
368
+ }
369
+ /**
370
+ * 特定注文取引参照
371
+ */
372
+ async findPlaceOrderById(params, inclusion // make required(2024-05-31~)
373
+ ) {
374
+ let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
375
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
376
+ positiveProjectionFields = positiveProjectionFields.filter((key) => inclusion.includes(key));
377
+ }
378
+ else {
379
+ throw new factory.errors.NotImplemented('inclusion must be specified'); // 2024-08-26~
380
+ }
381
+ const projection = {
382
+ _id: 0,
383
+ id: { $toString: '$_id' },
384
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
385
+ };
386
+ const doc = await this.transactionModel.findOne({
387
+ _id: { $eq: params.id },
388
+ typeOf: { $eq: params.typeOf }
389
+ }, projection)
390
+ .lean() // 2024-08-26~
391
+ .exec();
392
+ if (doc === null) {
393
+ throw new factory.errors.NotFound(this.transactionModel.modelName, `${params.typeOf} not found`);
394
+ }
395
+ return doc;
396
+ }
397
+ /**
398
+ * 取引を開始する
399
+ */
400
+ async startPlaceOrder(params) {
401
+ const status = factory.transactionStatusType.InProgress;
402
+ const tasksExportAction = { actionStatus: factory.actionStatusType.PotentialActionStatus };
403
+ // const tasksExportationStatus = factory.transactionTasksExportationStatus.Unexported; // discontinue(2024-06-20~)
404
+ const startDate = new Date();
405
+ let expires;
406
+ const { typeOf } = params;
407
+ // expiresInSecondsの指定があれば優先して適用する(2022-11-25~)
408
+ if (typeof params.expiresInSeconds === 'number' && params.expiresInSeconds > 0) {
409
+ expires = (0, moment_1.default)(startDate)
410
+ .add(params.expiresInSeconds, 'seconds')
411
+ .toDate();
412
+ }
413
+ else {
414
+ throw new factory.errors.ArgumentNull('expiresInSeconds');
415
+ }
416
+ let creatingTransaction;
417
+ if (typeOf === factory.transactionType.PlaceOrder) {
418
+ const { agent, project, object, seller, instrument } = params;
419
+ creatingTransaction = {
420
+ status, startDate, expires, typeOf, tasksExportAction,
421
+ agent, project, seller, object,
422
+ ...(typeof instrument?.id === 'string') ? { instrument } : undefined
423
+ };
424
+ }
425
+ else {
426
+ throw new factory.errors.NotImplemented(`${typeOf} not implemented`);
427
+ }
428
+ // reimplemnt with insertMany(2024-05-30~)
429
+ const result = await this.transactionModel.insertMany(creatingTransaction, { rawResult: true });
430
+ const id = result.insertedIds?.[0]?.toHexString();
431
+ if (typeof id !== 'string') {
432
+ throw new factory.errors.Internal('transaction not saved');
433
+ }
434
+ // 取引開始時にも取引イベントエミッター連携(2024-03-21~)
435
+ transaction_1.transactionEventEmitter.emitTransactionStatusChanged({ id, typeOf, status });
436
+ return { expires, id, startDate, status }; // minimize response(2024-05-30~)
437
+ }
438
+ /**
439
+ * 取引を確定する
440
+ */
441
+ async confirmPlaceOrder(params) {
442
+ const endDate = new Date();
443
+ const doc = await this.transactionModel.findOneAndUpdate({
444
+ _id: { $eq: params.id },
445
+ typeOf: { $eq: params.typeOf },
446
+ status: { $eq: factory.transactionStatusType.InProgress },
447
+ expires: { $gt: endDate } // add expires(2025-02-27~)
448
+ }, {
449
+ status: factory.transactionStatusType.Confirmed, // ステータス変更
450
+ endDate,
451
+ // 'object.authorizeActions': params.authorizeActions,
452
+ result: params.result, // resultを更新
453
+ potentialActions: params.potentialActions // resultを更新
454
+ }, {
455
+ new: true,
456
+ projection: { _id: 1 }
457
+ })
458
+ .lean()
459
+ .exec();
460
+ // NotFoundであれば取引状態確認
461
+ if (doc === null) {
462
+ const { expires, status } = await this.findPlaceOrderById({ typeOf: params.typeOf, id: params.id }, ['expires', 'status']);
463
+ if (status === factory.transactionStatusType.Confirmed) {
464
+ // すでに確定済の場合スルー
465
+ }
466
+ else if (status === factory.transactionStatusType.Expired) {
467
+ throw new factory.errors.Argument('Transaction id', 'Already expired');
468
+ }
469
+ else if (status === factory.transactionStatusType.Canceled) {
470
+ throw new factory.errors.Argument('Transaction id', 'Already canceled');
471
+ }
472
+ else {
473
+ if ((0, moment_1.default)(expires)
474
+ .isSameOrBefore((0, moment_1.default)(endDate))) {
475
+ throw new factory.errors.Argument('Transaction id', 'potentially expired');
476
+ }
477
+ throw new factory.errors.NotFound(this.transactionModel.modelName, `${params.typeOf} ${factory.transactionStatusType.InProgress} not found`);
478
+ }
479
+ }
480
+ transaction_1.transactionEventEmitter.emitTransactionStatusChanged({
481
+ id: params.id,
482
+ typeOf: params.typeOf,
483
+ status: factory.transactionStatusType.Confirmed
484
+ });
485
+ }
486
+ /**
487
+ * 取引を中止する
488
+ */
489
+ async cancelPlaceOrder(params) {
490
+ const endDate = new Date();
491
+ // 進行中ステータスの取引を中止する
492
+ const doc = await this.transactionModel.findOneAndUpdate({
493
+ typeOf: params.typeOf,
494
+ _id: params.id,
495
+ status: factory.transactionStatusType.InProgress
496
+ }, {
497
+ status: factory.transactionStatusType.Canceled,
498
+ endDate: endDate
499
+ }, {
500
+ new: true,
501
+ projection: { _id: 1 }
502
+ })
503
+ .lean()
504
+ .exec();
505
+ // NotFoundであれば取引状態確認
506
+ if (doc === null) {
507
+ const { status } = await this.findPlaceOrderById(params, ['status']);
508
+ if (status === factory.transactionStatusType.Canceled) {
509
+ // すでに中止済の場合スルー
510
+ }
511
+ else if (status === factory.transactionStatusType.Expired) {
512
+ throw new factory.errors.Argument('Transaction id', 'Transaction already expired');
513
+ }
514
+ else if (status === factory.transactionStatusType.Confirmed) {
515
+ throw new factory.errors.Argument('Transaction id', 'Confirmed transaction unable to cancel');
516
+ }
517
+ else {
518
+ throw new factory.errors.NotFound(this.transactionModel.modelName, `${params.typeOf} ${factory.transactionStatusType.InProgress} not found`);
519
+ }
520
+ }
521
+ transaction_1.transactionEventEmitter.emitTransactionStatusChanged({
522
+ id: params.id,
523
+ typeOf: params.typeOf,
524
+ status: factory.transactionStatusType.Canceled
525
+ });
526
+ }
527
+ }
528
+ exports.PlaceOrderRepo = PlaceOrderRepo;