@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
@@ -0,0 +1,788 @@
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.ActionProcessRepo = exports.AVAILABLE_PROJECT_FIELDS = void 0;
27
+ const factory = __importStar(require("../../factory"));
28
+ const settings_1 = require("../../settings");
29
+ const action_1 = require("../mongoose/schemas/action");
30
+ const actionRecipe_1 = require("../mongoose/schemas/actionRecipe");
31
+ exports.AVAILABLE_PROJECT_FIELDS = [
32
+ 'project',
33
+ 'actionStatus',
34
+ 'typeOf',
35
+ 'description',
36
+ 'agent',
37
+ 'recipient',
38
+ 'result',
39
+ 'error',
40
+ 'object',
41
+ 'startDate',
42
+ 'endDate',
43
+ 'purpose',
44
+ 'potentialActions',
45
+ 'amount',
46
+ 'fromLocation',
47
+ 'toLocation',
48
+ 'instrument',
49
+ 'location',
50
+ 'replacer',
51
+ 'targetCollection',
52
+ 'sameAs',
53
+ 'cancelAction',
54
+ 'about',
55
+ 'target',
56
+ 'identifier'
57
+ ];
58
+ /**
59
+ * アクション状態管理リポジトリ
60
+ */
61
+ class ActionProcessRepo {
62
+ actionModel;
63
+ actionRecipeModel;
64
+ constructor(connection) {
65
+ this.actionModel = connection.model(action_1.modelName, (0, action_1.createSchema)());
66
+ this.actionRecipeModel = connection.model(actionRecipe_1.modelName, (0, actionRecipe_1.createSchema)());
67
+ }
68
+ static CREATE_MONGO_CONDITIONS(params) {
69
+ const andConditions = [];
70
+ const idIn = params.id?.$in;
71
+ if (Array.isArray(idIn)) {
72
+ andConditions.push({ _id: { $in: idIn } });
73
+ }
74
+ const idNin = params.id?.$nin;
75
+ if (Array.isArray(idNin)) {
76
+ andConditions.push({ _id: { $nin: idNin } });
77
+ }
78
+ const projectIdEq = params.project?.id?.$eq;
79
+ if (typeof projectIdEq === 'string') {
80
+ andConditions.push({
81
+ 'project.id': {
82
+ $eq: projectIdEq
83
+ }
84
+ });
85
+ }
86
+ const agentTypeOfIn = params.agent?.typeOf?.$in;
87
+ if (Array.isArray(agentTypeOfIn)) {
88
+ andConditions.push({
89
+ 'agent.typeOf': {
90
+ $exists: true,
91
+ $in: agentTypeOfIn
92
+ }
93
+ });
94
+ }
95
+ const agentIdIn = params.agent?.id?.$in;
96
+ if (Array.isArray(agentIdIn)) {
97
+ andConditions.push({
98
+ 'agent.id': {
99
+ $exists: true,
100
+ $in: agentIdIn
101
+ }
102
+ });
103
+ }
104
+ const instrumentTransactionNumberEq = params.instrument?.transactionNumber?.$eq;
105
+ if (typeof instrumentTransactionNumberEq === 'string') {
106
+ andConditions.push({ 'instrument.transactionNumber': { $exists: true, $eq: instrumentTransactionNumberEq } });
107
+ }
108
+ const instrumentTypeOfEq = params.instrument?.typeOf?.$eq;
109
+ if (typeof instrumentTypeOfEq === 'string') {
110
+ andConditions.push({ 'instrument.typeOf': { $exists: true, $eq: instrumentTypeOfEq } });
111
+ }
112
+ const instrumentIdentifierEq = params.instrument?.identifier?.$eq;
113
+ if (typeof instrumentIdentifierEq === 'string') {
114
+ andConditions.push({ 'instrument.identifier': { $exists: true, $eq: instrumentIdentifierEq } });
115
+ }
116
+ const instrumentIdEq = params.instrument?.id?.$eq;
117
+ if (typeof instrumentIdEq === 'string') {
118
+ andConditions.push({ 'instrument.id': { $exists: true, $eq: instrumentIdEq } });
119
+ }
120
+ const instrumentOrderNumberEq = params.instrument?.orderNumber?.$eq;
121
+ if (typeof instrumentOrderNumberEq === 'string') {
122
+ andConditions.push({ 'instrument.orderNumber': { $exists: true, $eq: instrumentOrderNumberEq } });
123
+ }
124
+ const locationIdEq = params.location?.id?.$eq;
125
+ if (typeof locationIdEq === 'string') {
126
+ andConditions.push({
127
+ 'location.id': {
128
+ $exists: true,
129
+ $eq: locationIdEq
130
+ }
131
+ });
132
+ }
133
+ const locationIdentifierEq = params.location?.identifier?.$eq;
134
+ if (typeof locationIdentifierEq === 'string') {
135
+ andConditions.push({
136
+ 'location.identifier': {
137
+ $exists: true,
138
+ $eq: locationIdentifierEq
139
+ }
140
+ });
141
+ }
142
+ const objectMovieTicketsIdentifierEq = params.object?.movieTickets?.identifier?.$eq;
143
+ if (typeof objectMovieTicketsIdentifierEq === 'string') {
144
+ andConditions.push({
145
+ 'object.movieTickets.identifier': {
146
+ $exists: true,
147
+ $eq: objectMovieTicketsIdentifierEq
148
+ }
149
+ });
150
+ }
151
+ const objectMovieTicketsServiceOutputReservationForIdEq = params.object?.movieTickets?.serviceOutput?.reservationFor?.id?.$eq;
152
+ if (typeof objectMovieTicketsServiceOutputReservationForIdEq === 'string') {
153
+ andConditions.push({
154
+ 'object.movieTickets.serviceOutput.reservationFor.id': {
155
+ $exists: true,
156
+ $eq: objectMovieTicketsServiceOutputReservationForIdEq
157
+ }
158
+ });
159
+ }
160
+ const objectPaymentMethodIdEq = params.object?.paymentMethodId?.$eq;
161
+ if (typeof objectPaymentMethodIdEq === 'string') {
162
+ andConditions.push({
163
+ 'object.paymentMethodId': {
164
+ $exists: true,
165
+ $eq: objectPaymentMethodIdEq
166
+ }
167
+ });
168
+ }
169
+ const objectObjectPaymentMethodIdEq = params.object?.object?.paymentMethodId?.$eq;
170
+ if (typeof objectObjectPaymentMethodIdEq === 'string') {
171
+ andConditions.push({
172
+ 'object.object.paymentMethodId': {
173
+ $exists: true,
174
+ $eq: objectObjectPaymentMethodIdEq
175
+ }
176
+ });
177
+ }
178
+ const objectReservationForIdEq = params.object?.reservationFor?.id?.$eq;
179
+ if (typeof objectReservationForIdEq === 'string') {
180
+ andConditions.push({
181
+ 'object.reservationFor.id': {
182
+ $exists: true,
183
+ $eq: objectReservationForIdEq
184
+ }
185
+ });
186
+ }
187
+ const objectReservationNumberEq = params.object?.reservationNumber?.$eq;
188
+ if (typeof objectReservationNumberEq === 'string') {
189
+ andConditions.push({
190
+ 'object.reservationNumber': {
191
+ $exists: true,
192
+ $eq: objectReservationNumberEq
193
+ }
194
+ });
195
+ }
196
+ const objectReservationNumberIn = params.object?.reservationNumber?.$in;
197
+ if (Array.isArray(objectReservationNumberIn)) {
198
+ andConditions.push({
199
+ 'object.reservationNumber': {
200
+ $exists: true,
201
+ $in: objectReservationNumberIn
202
+ }
203
+ });
204
+ }
205
+ const objectPaymentMethodAccountIdEq = params.object?.paymentMethod?.accountId?.$eq;
206
+ if (typeof objectPaymentMethodAccountIdEq === 'string') {
207
+ andConditions.push({
208
+ 'object.paymentMethod.accountId': {
209
+ $exists: true,
210
+ $eq: objectPaymentMethodAccountIdEq
211
+ }
212
+ });
213
+ }
214
+ const objectPaymentMethodPaymentMethodIdEq = params.object?.paymentMethod?.paymentMethodId?.$eq;
215
+ if (typeof objectPaymentMethodPaymentMethodIdEq === 'string') {
216
+ andConditions.push({
217
+ 'object.paymentMethod.paymentMethodId': {
218
+ $exists: true,
219
+ $eq: objectPaymentMethodPaymentMethodIdEq
220
+ }
221
+ });
222
+ }
223
+ const objectPaymentMethodPaymentMethodIdIn = params.object?.paymentMethod?.paymentMethodId?.$in;
224
+ if (Array.isArray(objectPaymentMethodPaymentMethodIdIn)) {
225
+ andConditions.push({
226
+ 'object.paymentMethod.paymentMethodId': {
227
+ $exists: true,
228
+ $in: objectPaymentMethodPaymentMethodIdIn
229
+ }
230
+ });
231
+ }
232
+ const objectPaymentMethodTypeOfEq = params.object?.paymentMethod?.typeOf?.$eq;
233
+ if (typeof objectPaymentMethodTypeOfEq === 'string') {
234
+ andConditions.push({
235
+ 'object.paymentMethod.typeOf': {
236
+ $exists: true,
237
+ $eq: objectPaymentMethodTypeOfEq
238
+ }
239
+ });
240
+ }
241
+ const objectTypeOfEq = params.object?.typeOf?.$eq;
242
+ if (typeof objectTypeOfEq === 'string') {
243
+ andConditions.push({
244
+ 'object.typeOf': {
245
+ $exists: true,
246
+ $eq: objectTypeOfEq
247
+ }
248
+ });
249
+ }
250
+ const objectTypeOfIn = params.object?.typeOf?.$in;
251
+ if (Array.isArray(objectTypeOfIn)) {
252
+ andConditions.push({
253
+ 'object.typeOf': {
254
+ $exists: true,
255
+ $in: objectTypeOfIn
256
+ }
257
+ });
258
+ }
259
+ const objectIdEq = params.object?.id?.$eq;
260
+ if (typeof objectIdEq === 'string') {
261
+ andConditions.push({
262
+ 'object.id': {
263
+ $exists: true,
264
+ $eq: objectIdEq
265
+ }
266
+ });
267
+ }
268
+ const objectIdIn = params.object?.id?.$in;
269
+ if (Array.isArray(objectIdIn)) {
270
+ andConditions.push({
271
+ 'object.id': {
272
+ $exists: true,
273
+ $in: objectIdIn
274
+ }
275
+ });
276
+ }
277
+ const objectOrderNumberIn = params.object?.orderNumber?.$in;
278
+ if (Array.isArray(objectOrderNumberIn)) {
279
+ andConditions.push({
280
+ 'object.orderNumber': {
281
+ $exists: true,
282
+ $in: objectOrderNumberIn
283
+ }
284
+ });
285
+ }
286
+ const objectEventIdIn = params.object?.event?.id?.$in;
287
+ if (Array.isArray(objectEventIdIn)) {
288
+ andConditions.push({
289
+ 'object.event.id': {
290
+ $exists: true,
291
+ $in: objectEventIdIn
292
+ }
293
+ });
294
+ }
295
+ // discontinue(2024-06-18~)
296
+ // const objectAcceptedOfferSeatNumberIn =
297
+ // params.object?.acceptedOffer?.itemOffered?.serviceOutput?.reservedTicket?.ticketedSeat?.seatNumber?.$in;
298
+ // if (Array.isArray(objectAcceptedOfferSeatNumberIn)) {
299
+ // andConditions.push({
300
+ // 'object.acceptedOffer.itemOffered.serviceOutput.reservedTicket.ticketedSeat.seatNumber': {
301
+ // $exists: true,
302
+ // $in: objectAcceptedOfferSeatNumberIn
303
+ // }
304
+ // });
305
+ // }
306
+ const objectTransactionNumberEq = params.object?.transactionNumber?.$eq;
307
+ if (typeof objectTransactionNumberEq === 'string') {
308
+ andConditions.push({ 'object.transactionNumber': { $exists: true, $eq: objectTransactionNumberEq } });
309
+ }
310
+ if (typeof params.typeOf === 'string') {
311
+ andConditions.push({
312
+ typeOf: params.typeOf
313
+ });
314
+ }
315
+ else {
316
+ const typeOfEq = params.typeOf?.$eq;
317
+ if (typeof typeOfEq === 'string') {
318
+ andConditions.push({
319
+ typeOf: { $eq: typeOfEq }
320
+ });
321
+ }
322
+ }
323
+ const actionStatusIn = params.actionStatus?.$in;
324
+ if (Array.isArray(actionStatusIn)) {
325
+ andConditions.push({
326
+ actionStatus: { $in: actionStatusIn }
327
+ });
328
+ }
329
+ if (Array.isArray(params.actionStatusTypes)) {
330
+ andConditions.push({
331
+ actionStatus: { $in: params.actionStatusTypes }
332
+ });
333
+ }
334
+ const startDateGte = params.startFrom;
335
+ if (startDateGte instanceof Date) {
336
+ andConditions.push({
337
+ startDate: { $gte: startDateGte }
338
+ });
339
+ }
340
+ const startDateLte = params.startThrough;
341
+ if (startDateLte instanceof Date) {
342
+ andConditions.push({
343
+ startDate: { $lte: startDateLte }
344
+ });
345
+ }
346
+ const fromLocationTypeOfIn = params.fromLocation?.typeOf?.$in;
347
+ if (Array.isArray(fromLocationTypeOfIn)) {
348
+ andConditions.push({
349
+ 'fromLocation.typeOf': {
350
+ $exists: true,
351
+ $in: fromLocationTypeOfIn
352
+ }
353
+ });
354
+ }
355
+ const fromLocationAccountNumberIn = params.fromLocation?.accountNumber?.$in;
356
+ if (Array.isArray(fromLocationAccountNumberIn)) {
357
+ andConditions.push({
358
+ 'fromLocation.accountNumber': {
359
+ $exists: true,
360
+ $in: fromLocationAccountNumberIn
361
+ }
362
+ });
363
+ }
364
+ const fromLocationAccountTypeIn = params.fromLocation?.accountType?.$in;
365
+ if (Array.isArray(fromLocationAccountTypeIn)) {
366
+ andConditions.push({
367
+ 'fromLocation.accountType': {
368
+ $exists: true,
369
+ $in: fromLocationAccountTypeIn
370
+ }
371
+ });
372
+ }
373
+ const toLocationTypeOfIn = params.toLocation?.typeOf?.$in;
374
+ if (Array.isArray(toLocationTypeOfIn)) {
375
+ andConditions.push({
376
+ 'toLocation.typeOf': {
377
+ $exists: true,
378
+ $in: toLocationTypeOfIn
379
+ }
380
+ });
381
+ }
382
+ const toLocationAccountNumberIn = params.toLocation?.accountNumber?.$in;
383
+ if (Array.isArray(toLocationAccountNumberIn)) {
384
+ andConditions.push({
385
+ 'toLocation.accountNumber': {
386
+ $exists: true,
387
+ $in: toLocationAccountNumberIn
388
+ }
389
+ });
390
+ }
391
+ const toLocationAccountTypeIn = params.toLocation?.accountType?.$in;
392
+ if (Array.isArray(toLocationAccountTypeIn)) {
393
+ andConditions.push({
394
+ 'toLocation.accountType': {
395
+ $exists: true,
396
+ $in: toLocationAccountTypeIn
397
+ }
398
+ });
399
+ }
400
+ const purposeTypeOfIn = params.purpose?.typeOf?.$in;
401
+ if (Array.isArray(purposeTypeOfIn)) {
402
+ andConditions.push({
403
+ 'purpose.typeOf': {
404
+ $exists: true,
405
+ $in: purposeTypeOfIn
406
+ }
407
+ });
408
+ }
409
+ const purposeIdIn = params.purpose?.id?.$in;
410
+ if (Array.isArray(purposeIdIn)) {
411
+ andConditions.push({
412
+ 'purpose.id': {
413
+ $exists: true,
414
+ $in: purposeIdIn
415
+ }
416
+ });
417
+ }
418
+ const purposeOrderNumberIn = params.purpose?.orderNumber?.$in;
419
+ if (Array.isArray(purposeOrderNumberIn)) {
420
+ andConditions.push({
421
+ 'purpose.orderNumber': {
422
+ $exists: true,
423
+ $in: purposeOrderNumberIn
424
+ }
425
+ });
426
+ }
427
+ const resultTypeOfIn = params.result?.typeOf?.$in;
428
+ if (Array.isArray(resultTypeOfIn)) {
429
+ andConditions.push({
430
+ 'result.typeOf': {
431
+ $exists: true,
432
+ $in: resultTypeOfIn
433
+ }
434
+ });
435
+ }
436
+ const resultIdIn = params.result?.id?.$in;
437
+ if (Array.isArray(resultIdIn)) {
438
+ andConditions.push({
439
+ 'result.id': {
440
+ $exists: true,
441
+ $in: resultIdIn
442
+ }
443
+ });
444
+ }
445
+ const resultOrderNumberIn = params.result?.orderNumber?.$in;
446
+ if (Array.isArray(resultOrderNumberIn)) {
447
+ andConditions.push({
448
+ 'result.orderNumber': {
449
+ $exists: true,
450
+ $in: resultOrderNumberIn
451
+ }
452
+ });
453
+ }
454
+ const resultCodeIn = params.result?.code?.$in;
455
+ if (Array.isArray(resultCodeIn)) {
456
+ andConditions.push({
457
+ 'result.code': {
458
+ $exists: true,
459
+ $in: resultCodeIn
460
+ }
461
+ });
462
+ }
463
+ // sameAs(2024-04-23~)
464
+ const sameAsIdEq = params.sameAs?.id?.$eq;
465
+ if (typeof sameAsIdEq === 'string') {
466
+ andConditions.push({ 'sameAs.id': { $exists: true, $eq: sameAsIdEq } });
467
+ }
468
+ const aboutOrderNumberEq = params.about?.orderNumber?.$eq;
469
+ if (typeof aboutOrderNumberEq === 'string') {
470
+ andConditions.push({ 'about.orderNumber': { $exists: true, $eq: aboutOrderNumberEq } });
471
+ }
472
+ return andConditions;
473
+ }
474
+ /**
475
+ * アクション開始
476
+ */
477
+ async start(
478
+ // public async start<T extends Exclude<TAction['typeOf'], factory.actionType.AcceptAction>>(
479
+ attributes, options) {
480
+ const startDate = new Date();
481
+ const creatingAction = {
482
+ ...attributes,
483
+ actionStatus: factory.actionStatusType.ActiveActionStatus,
484
+ startDate
485
+ };
486
+ // reimplemnt with insertMany(2024-08-29~)
487
+ const result = await this.actionModel.insertMany(creatingAction, { rawResult: true });
488
+ const id = result.insertedIds?.[0]?.toHexString();
489
+ if (typeof id !== 'string') {
490
+ throw new factory.errors.Internal('action not saved');
491
+ }
492
+ // add recipe(2024-06-09~)
493
+ const savingRecipe = options?.recipe;
494
+ if (savingRecipe?.typeOf === 'Recipe') {
495
+ await this.upsertRecipe({ ...savingRecipe, recipeFor: { id, typeOf: creatingAction.typeOf } });
496
+ }
497
+ return { id, startDate, typeOf: creatingAction.typeOf };
498
+ }
499
+ async completeWithVoid(params) {
500
+ if (params.recipe?.typeOf === 'Recipe') {
501
+ await this.upsertRecipe({ ...params.recipe, recipeFor: { id: params.id, typeOf: params.typeOf } });
502
+ }
503
+ const doc = await this.actionModel.findOneAndUpdate({
504
+ _id: { $eq: params.id },
505
+ typeOf: { $eq: params.typeOf }
506
+ }, {
507
+ $set: {
508
+ actionStatus: factory.actionStatusType.CompletedActionStatus,
509
+ result: params.result,
510
+ endDate: new Date()
511
+ }
512
+ }, { new: false, projection: { _id: 1 } })
513
+ .lean()
514
+ .exec();
515
+ if (doc === null) {
516
+ throw new factory.errors.NotFound(this.actionModel.modelName);
517
+ }
518
+ }
519
+ /**
520
+ * アクション取消
521
+ */
522
+ async cancelWithVoid(params) {
523
+ const cancelDate = new Date();
524
+ const cancelAction = (params.cancelAction !== undefined)
525
+ ? {
526
+ ...params.cancelAction,
527
+ endTime: cancelDate,
528
+ typeOf: factory.actionType.CancelAction
529
+ }
530
+ : undefined;
531
+ const doc = await this.actionModel.findOneAndUpdate({
532
+ _id: { $eq: params.id },
533
+ typeOf: { $eq: params.typeOf },
534
+ actionStatus: { $ne: factory.actionStatusType.CanceledActionStatus } // 冪等性確保(2024-05-26~)
535
+ }, {
536
+ $set: {
537
+ actionStatus: factory.actionStatusType.CanceledActionStatus,
538
+ ...(cancelAction !== undefined) ? { cancelAction } : undefined // cancelAction連携(2024-05-26~)
539
+ }
540
+ }, { new: false, projection: { _id: 1 } })
541
+ .lean()
542
+ .exec();
543
+ if (doc === null) {
544
+ // 既にCanceledActionStatusであればok
545
+ const existingAction = await this.findActionStatusById({ id: params.id, typeOf: params.typeOf });
546
+ if (existingAction.actionStatus !== factory.actionStatusType.CanceledActionStatus) {
547
+ throw new factory.errors.NotFound(this.actionModel.modelName);
548
+ }
549
+ }
550
+ // endDateが存在しなければセット(2024-04-22~)
551
+ await this.actionModel.updateOne({
552
+ _id: { $eq: params.id },
553
+ endDate: { $exists: false }
554
+ }, { $set: { endDate: cancelDate } })
555
+ .exec();
556
+ }
557
+ /**
558
+ * アクション失敗
559
+ */
560
+ async giveUp(params) {
561
+ const actionError = (Array.isArray(params.error))
562
+ ? params.error.map((e) => ({ ...e, message: e.message, name: e.name }))
563
+ : { ...params.error, message: params.error.message, name: params.error.name };
564
+ if (params.recipe?.typeOf === 'Recipe') {
565
+ await this.upsertRecipe({ ...params.recipe, recipeFor: { id: params.id, typeOf: params.typeOf } });
566
+ }
567
+ const doc = await this.actionModel.findOneAndUpdate({
568
+ typeOf: { $eq: params.typeOf },
569
+ _id: { $eq: params.id }
570
+ }, {
571
+ $set: {
572
+ actionStatus: factory.actionStatusType.FailedActionStatus,
573
+ error: actionError,
574
+ endDate: new Date()
575
+ }
576
+ }, { new: true, projection: { _id: 1 } })
577
+ .lean()
578
+ .exec();
579
+ if (doc === null) {
580
+ throw new factory.errors.NotFound(this.actionModel.modelName);
581
+ }
582
+ }
583
+ /**
584
+ * 一定期間ActiveActionStatusのアクションをFailedActionStatusにする
585
+ */
586
+ async giveUpStartDatePassedCertainPeriod(params) {
587
+ return this.actionModel.updateMany({
588
+ actionStatus: { $eq: factory.actionStatusType.ActiveActionStatus },
589
+ // 一定期間過ぎたもの
590
+ startDate: { $lt: params.startDate.$lt },
591
+ ...(typeof params.id?.$eq === 'string') ? { _id: { $eq: params.id.$eq } } : undefined
592
+ }, {
593
+ actionStatus: factory.actionStatusType.FailedActionStatus,
594
+ error: params.error,
595
+ endDate: new Date()
596
+ })
597
+ .exec();
598
+ }
599
+ async findRecipeByAction(params) {
600
+ return this.actionRecipeModel.findOne({
601
+ 'project.id': { $eq: params.project.id },
602
+ 'recipeFor.id': { $eq: params.recipeFor.id }
603
+ }, { step: 1, recipeCategory: 1 }
604
+ // { lean: true }
605
+ )
606
+ .lean()
607
+ .exec();
608
+ // if (result === null) {
609
+ // throw new factory.errors.NotFound(this.actionRecipeModel.modelName);
610
+ // }
611
+ // return result;
612
+ }
613
+ async findById(params, inclusion, exclusion) {
614
+ let positiveProjectionFields = exports.AVAILABLE_PROJECT_FIELDS;
615
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
616
+ positiveProjectionFields = inclusion.filter((key) => exports.AVAILABLE_PROJECT_FIELDS.includes(key));
617
+ }
618
+ else {
619
+ if (Array.isArray(exclusion) && exclusion.length > 0) {
620
+ positiveProjectionFields = positiveProjectionFields.filter((key) => !exclusion.includes(key));
621
+ }
622
+ }
623
+ const projection = {
624
+ _id: 0,
625
+ id: { $toString: '$_id' },
626
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
627
+ };
628
+ const doc = await this.actionModel.findOne({
629
+ typeOf: { $eq: params.typeOf },
630
+ _id: { $eq: params.id }
631
+ }, projection)
632
+ .lean() // 2024-08-26~
633
+ .exec();
634
+ if (doc === null) {
635
+ throw new factory.errors.NotFound(this.actionModel.modelName);
636
+ }
637
+ return doc;
638
+ }
639
+ async searchBySameAs(params) {
640
+ const projection = {
641
+ _id: 0,
642
+ id: { $toString: '$_id' },
643
+ actionStatus: 1,
644
+ error: 1,
645
+ purpose: 1
646
+ };
647
+ const query = this.actionModel.find({
648
+ typeOf: { $eq: params.typeOf.$eq },
649
+ 'sameAs.id': { $exists: true, $eq: params.sameAs.id.$eq },
650
+ ...(typeof params.purpose?.id.$eq === 'string')
651
+ ? { 'purpose.id': { $exists: true, $eq: params.purpose.id.$eq } }
652
+ : undefined
653
+ }, projection)
654
+ // .select({ _id: 1, actionStatus: 1, error: 1, purpose: 1 })
655
+ .limit(1);
656
+ return query
657
+ .lean() // 2024-08-26~
658
+ .exec();
659
+ }
660
+ async findActionStatusById(params) {
661
+ const projection = {
662
+ _id: 0,
663
+ id: { $toString: '$_id' },
664
+ actionStatus: 1
665
+ };
666
+ const doc = await this.actionModel.findOne({
667
+ typeOf: { $eq: params.typeOf },
668
+ _id: { $eq: params.id }
669
+ }, projection)
670
+ .lean() // 2024-08-26~
671
+ .exec();
672
+ if (doc === null) {
673
+ throw new factory.errors.NotFound(this.actionModel.modelName);
674
+ }
675
+ return doc;
676
+ }
677
+ /**
678
+ * 汎用アクション検索
679
+ * 継承クラスから呼ぶ想定
680
+ */
681
+ async findAnyActions(params, inclusion) {
682
+ const conditions = ActionProcessRepo.CREATE_MONGO_CONDITIONS(params);
683
+ let positiveProjectionFields = exports.AVAILABLE_PROJECT_FIELDS;
684
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
685
+ positiveProjectionFields = inclusion.filter((key) => exports.AVAILABLE_PROJECT_FIELDS.includes(key));
686
+ }
687
+ const projection = {
688
+ _id: 0,
689
+ id: { $toString: '$_id' },
690
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
691
+ };
692
+ const query = this.actionModel.find((conditions.length > 0) ? { $and: conditions } : {}, projection);
693
+ if (typeof params.limit === 'number' && params.limit > 0) {
694
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
695
+ query.limit(params.limit)
696
+ .skip(params.limit * (page - 1));
697
+ }
698
+ /* istanbul ignore else */
699
+ if (params.sort?.startDate !== undefined) {
700
+ query.sort({ startDate: params.sort.startDate });
701
+ }
702
+ // const explainResult = await (<any>query).explain();
703
+ // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
704
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
705
+ .lean() // 2024-08-26~
706
+ .exec();
707
+ }
708
+ /**
709
+ * 取引に対する汎用アクション検索
710
+ * 継承クラスから呼ぶ想定
711
+ * 件数はlimitされない
712
+ */
713
+ async findAnyActionsByPurpose(params) {
714
+ const andConditions = [
715
+ { 'purpose.typeOf': { $exists: true, $eq: params.purpose.typeOf } },
716
+ { 'purpose.id': { $exists: true, $eq: params.purpose.id } }
717
+ ];
718
+ const objectPaymentMethodIdEq = params.object?.paymentMethodId?.$eq;
719
+ if (typeof objectPaymentMethodIdEq === 'string') {
720
+ andConditions.push({ 'object.paymentMethodId': { $exists: true, $eq: objectPaymentMethodIdEq } });
721
+ }
722
+ const objectTypeOfEq = params.object?.typeOf?.$eq;
723
+ if (typeof objectTypeOfEq === 'string') {
724
+ andConditions.push({ 'object.typeOf': { $exists: true, $eq: objectTypeOfEq } });
725
+ }
726
+ if (typeof params.typeOf === 'string') {
727
+ andConditions.push({ typeOf: { $eq: params.typeOf } });
728
+ }
729
+ const actionStatusEq = params.actionStatus?.$eq;
730
+ if (typeof actionStatusEq === 'string') {
731
+ andConditions.push({ actionStatus: { $eq: actionStatusEq } });
732
+ }
733
+ const positiveProjectionFields = [
734
+ 'project',
735
+ 'actionStatus',
736
+ 'typeOf',
737
+ 'description',
738
+ 'agent',
739
+ 'recipient',
740
+ 'result',
741
+ 'error',
742
+ 'object',
743
+ 'startDate',
744
+ 'endDate',
745
+ 'purpose',
746
+ 'potentialActions',
747
+ 'instrument',
748
+ 'location',
749
+ 'sameAs',
750
+ 'cancelAction',
751
+ 'identifier'
752
+ ];
753
+ const projection = {
754
+ _id: 0,
755
+ id: { $toString: '$_id' },
756
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
757
+ };
758
+ const query = this.actionModel.find((andConditions.length > 0) ? { $and: andConditions } : {}, projection);
759
+ if (typeof params.sort?.startDate === 'number') {
760
+ query.sort({ startDate: params.sort.startDate });
761
+ }
762
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
763
+ .lean()
764
+ .exec();
765
+ }
766
+ async upsertRecipe(savingRecipe) {
767
+ const dateModified = new Date();
768
+ const { typeOf, project, recipeCategory, recipeFor, step } = savingRecipe;
769
+ const filter = {
770
+ 'recipeFor.id': { $eq: recipeFor.id }
771
+ };
772
+ const setOnInsert = {
773
+ project, typeOf, recipeCategory, recipeFor,
774
+ dateCreated: dateModified
775
+ };
776
+ const setKeys = { step, dateModified };
777
+ const update = {
778
+ $setOnInsert: setOnInsert,
779
+ $set: setKeys
780
+ };
781
+ await this.actionRecipeModel.updateOne(filter, update, {
782
+ upsert: true
783
+ // includeResultMetadata: true
784
+ })
785
+ .exec();
786
+ }
787
+ }
788
+ exports.ActionProcessRepo = ActionProcessRepo;