@chevre/domain 21.2.0-alpha.13 → 21.2.0-alpha.131

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 (296) hide show
  1. package/example/src/chevre/aggregateEventReservation.ts +1 -1
  2. package/example/src/chevre/aggregation/aggregateSystem.ts +85 -27
  3. package/example/src/chevre/countDelayedTasks.ts +7 -2
  4. package/example/src/chevre/deleteTasksByName.ts +10 -2
  5. package/example/src/chevre/findMovieTheaterById.ts +40 -0
  6. package/example/src/chevre/importEventsFromCOA.ts +3 -4
  7. package/example/src/chevre/lockStockHolder.ts +5 -2
  8. package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
  9. package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
  10. package/example/src/chevre/processPay.ts +5 -1
  11. package/example/src/chevre/processRegisterMembership.ts +8 -4
  12. package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
  13. package/example/src/chevre/processReserve.ts +5 -2
  14. package/example/src/chevre/saveTasks.ts +13 -10
  15. package/example/src/chevre/searchAbortedTasks.ts +34 -0
  16. package/example/src/chevre/searchActions.ts +33 -0
  17. package/example/src/chevre/searchEventSeats.ts +5 -2
  18. package/example/src/chevre/searchHoldReservations.ts +38 -0
  19. package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
  20. package/example/src/chevre/searchScreeningRooms.ts +23 -0
  21. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  22. package/example/src/chevre/task/executeTasks.ts +26 -0
  23. package/example/src/chevre/transaction/findCreditCard.ts +1 -1
  24. package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
  25. package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
  26. package/example/src/chevre/transaction/startExportTasks.ts +2 -1
  27. package/example/src/chevre/updateScreeningRoom.ts +41 -0
  28. package/example/src/chevre/updateTransaction.ts +1 -1
  29. package/example/src/playOnMoment.ts +24 -0
  30. package/lib/chevre/credentials.d.ts +1 -0
  31. package/lib/chevre/credentials.js +2 -1
  32. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  33. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  34. package/lib/chevre/eventEmitter/task.d.ts +18 -0
  35. package/lib/chevre/eventEmitter/task.js +25 -0
  36. package/lib/chevre/eventEmitter/transaction.d.ts +21 -0
  37. package/lib/chevre/eventEmitter/transaction.js +25 -0
  38. package/lib/chevre/eventEmitter.d.ts +4 -0
  39. package/lib/chevre/eventEmitter.js +9 -0
  40. package/lib/chevre/index.d.ts +3 -2
  41. package/lib/chevre/index.js +5 -3
  42. package/lib/chevre/repo/account.js +3 -2
  43. package/lib/chevre/repo/accountTransaction.d.ts +3 -1
  44. package/lib/chevre/repo/accountTransaction.js +3 -2
  45. package/lib/chevre/repo/action.d.ts +42 -2
  46. package/lib/chevre/repo/action.js +130 -57
  47. package/lib/chevre/repo/additionalProperty.js +2 -1
  48. package/lib/chevre/repo/aggregation.d.ts +3 -0
  49. package/lib/chevre/repo/aggregation.js +3 -0
  50. package/lib/chevre/repo/assetTransaction.d.ts +23 -8
  51. package/lib/chevre/repo/assetTransaction.js +253 -80
  52. package/lib/chevre/repo/categoryCode.d.ts +1 -1
  53. package/lib/chevre/repo/categoryCode.js +37 -25
  54. package/lib/chevre/repo/code.js +3 -2
  55. package/lib/chevre/repo/comment.d.ts +4 -1
  56. package/lib/chevre/repo/comment.js +22 -6
  57. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  58. package/lib/chevre/repo/confirmationNumber.js +3 -15
  59. package/lib/chevre/repo/creativeWork.d.ts +2 -4
  60. package/lib/chevre/repo/creativeWork.js +35 -12
  61. package/lib/chevre/repo/customer.js +2 -1
  62. package/lib/chevre/repo/emailMessage.d.ts +1 -27
  63. package/lib/chevre/repo/emailMessage.js +2 -1
  64. package/lib/chevre/repo/event.d.ts +27 -1
  65. package/lib/chevre/repo/event.js +67 -33
  66. package/lib/chevre/repo/member.js +4 -3
  67. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
  68. package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
  69. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -2
  70. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +29 -3
  71. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +31 -3
  72. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  73. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +13 -3
  74. package/lib/chevre/repo/mongoose/schemas/action.d.ts +43 -3
  75. package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
  76. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +17 -3
  77. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -2
  78. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +44 -3
  79. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
  80. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +19 -3
  81. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  82. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +25 -3
  83. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +27 -3
  84. package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
  85. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +43 -3
  86. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +25 -3
  87. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +21 -3
  88. package/lib/chevre/repo/mongoose/schemas/event.d.ts +71 -3
  89. package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
  90. package/lib/chevre/repo/mongoose/schemas/holdReservation.js +92 -0
  91. package/lib/chevre/repo/mongoose/schemas/member.d.ts +13 -3
  92. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +21 -3
  93. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +65 -3
  94. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +27 -3
  95. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  96. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  97. package/lib/chevre/repo/mongoose/schemas/order.d.ts +51 -3
  98. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  99. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +25 -3
  100. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
  101. package/lib/chevre/repo/mongoose/schemas/place.d.ts +49 -3
  102. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +29 -3
  103. package/lib/chevre/repo/mongoose/schemas/product.d.ts +31 -3
  104. package/lib/chevre/repo/mongoose/schemas/project.d.ts +23 -3
  105. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -5
  106. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  107. package/lib/chevre/repo/mongoose/schemas/role.d.ts +11 -3
  108. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +31 -3
  109. package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
  110. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +11 -3
  111. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
  112. package/lib/chevre/repo/mongoose/schemas/task.d.ts +30 -3
  113. package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
  114. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +21 -3
  115. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +40 -3
  116. package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
  117. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +11 -3
  118. package/lib/chevre/repo/offer.js +3 -2
  119. package/lib/chevre/repo/offerCatalog.js +0 -27
  120. package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
  121. package/lib/chevre/repo/offerItemCondition.js +121 -0
  122. package/lib/chevre/repo/order.d.ts +55 -3
  123. package/lib/chevre/repo/order.js +62 -10
  124. package/lib/chevre/repo/ownershipInfo.js +2 -7
  125. package/lib/chevre/repo/place.d.ts +20 -5
  126. package/lib/chevre/repo/place.js +63 -23
  127. package/lib/chevre/repo/priceSpecification.js +3 -2
  128. package/lib/chevre/repo/product.d.ts +1 -3
  129. package/lib/chevre/repo/product.js +25 -4
  130. package/lib/chevre/repo/project.js +2 -1
  131. package/lib/chevre/repo/reservation.d.ts +20 -4
  132. package/lib/chevre/repo/reservation.js +40 -59
  133. package/lib/chevre/repo/role.js +3 -2
  134. package/lib/chevre/repo/seller.d.ts +1 -1
  135. package/lib/chevre/repo/seller.js +44 -23
  136. package/lib/chevre/repo/serviceOutput.js +2 -1
  137. package/lib/chevre/repo/stockHolder.d.ts +139 -7
  138. package/lib/chevre/repo/stockHolder.js +569 -102
  139. package/lib/chevre/repo/task.d.ts +45 -2
  140. package/lib/chevre/repo/task.js +94 -15
  141. package/lib/chevre/repo/transaction.d.ts +21 -2
  142. package/lib/chevre/repo/transaction.js +171 -50
  143. package/lib/chevre/repo/trip.js +2 -1
  144. package/lib/chevre/repository.d.ts +5 -2
  145. package/lib/chevre/repository.js +8 -4
  146. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +6 -2
  147. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +8 -6
  148. package/lib/chevre/service/aggregation/system.d.ts +110 -23
  149. package/lib/chevre/service/aggregation/system.js +213 -91
  150. package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
  151. package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -24
  152. package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
  153. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  154. package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
  155. package/lib/chevre/service/assetTransaction/pay.js +20 -34
  156. package/lib/chevre/service/assetTransaction/refund.js +2 -24
  157. package/lib/chevre/service/assetTransaction/registerService.js +1 -25
  158. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
  159. package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
  160. package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
  161. package/lib/chevre/service/assetTransaction/reserve.js +92 -69
  162. package/lib/chevre/service/assetTransaction.d.ts +6 -0
  163. package/lib/chevre/service/assetTransaction.js +9 -4
  164. package/lib/chevre/service/event.js +25 -6
  165. package/lib/chevre/service/notification/factory.js +2 -2
  166. package/lib/chevre/service/notification.d.ts +3 -1
  167. package/lib/chevre/service/notification.js +41 -7
  168. package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
  169. package/lib/chevre/service/offer/event/authorize.js +8 -2
  170. package/lib/chevre/service/offer/event/factory.d.ts +3 -0
  171. package/lib/chevre/service/offer/event/factory.js +16 -5
  172. package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
  173. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  174. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  175. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
  176. package/lib/chevre/service/offer/product.js +2 -2
  177. package/lib/chevre/service/offer.d.ts +16 -8
  178. package/lib/chevre/service/offer.js +71 -8
  179. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  180. package/lib/chevre/service/order/deleteOrder.js +8 -8
  181. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +5 -2
  182. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
  183. package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
  184. package/lib/chevre/service/order/onOrderUpdated.d.ts +16 -0
  185. package/lib/chevre/service/order/onOrderUpdated.js +22 -0
  186. package/lib/chevre/service/order/placeOrder.d.ts +1 -0
  187. package/lib/chevre/service/order/placeOrder.js +41 -24
  188. package/lib/chevre/service/order/returnOrder.d.ts +1 -0
  189. package/lib/chevre/service/order/returnOrder.js +7 -12
  190. package/lib/chevre/service/order/sendOrder.d.ts +1 -0
  191. package/lib/chevre/service/order/sendOrder.js +7 -10
  192. package/lib/chevre/service/order.d.ts +2 -1
  193. package/lib/chevre/service/order.js +3 -1
  194. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  195. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  196. package/lib/chevre/service/payment/any.d.ts +9 -5
  197. package/lib/chevre/service/payment/any.js +80 -18
  198. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  199. package/lib/chevre/service/payment/creditCard.js +23 -17
  200. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
  201. package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
  202. package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
  203. package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
  204. package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
  205. package/lib/chevre/service/payment/movieTicket/validation.js +55 -32
  206. package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
  207. package/lib/chevre/service/payment/movieTicket.js +7 -6
  208. package/lib/chevre/service/product.js +1 -5
  209. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  210. package/lib/chevre/service/report/telemetry.js +21 -24
  211. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
  212. package/lib/chevre/service/reserve/cancelReservation.js +162 -142
  213. package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
  214. package/lib/chevre/service/reserve/checkInReservation.js +77 -3
  215. package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
  216. package/lib/chevre/service/reserve/confirmReservation.js +133 -58
  217. package/lib/chevre/service/reserve/factory.d.ts +1 -1
  218. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
  219. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
  220. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  221. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  222. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  223. package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
  224. package/lib/chevre/service/reserve/useReservation.js +61 -71
  225. package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
  226. package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
  227. package/lib/chevre/service/reserve.d.ts +3 -2
  228. package/lib/chevre/service/reserve.js +4 -2
  229. package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
  230. package/lib/chevre/service/task/cancelPendingReservation.js +6 -2
  231. package/lib/chevre/service/task/cancelReservation.js +1 -1
  232. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  233. package/lib/chevre/service/task/deleteTransaction.js +10 -8
  234. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  235. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
  236. package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
  237. package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
  238. package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
  239. package/lib/chevre/service/task/onResourceUpdated.d.ts +7 -0
  240. package/lib/chevre/service/task/onResourceUpdated.js +352 -0
  241. package/lib/chevre/service/task/placeOrder.js +1 -1
  242. package/lib/chevre/service/task/reserve.js +10 -7
  243. package/lib/chevre/service/task/returnOrder.js +1 -1
  244. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  245. package/lib/chevre/service/task/sendOrder.js +1 -1
  246. package/lib/chevre/service/task/useReservation.d.ts +7 -0
  247. package/lib/chevre/service/task/useReservation.js +36 -0
  248. package/lib/chevre/service/task/voidReserveTransaction.js +4 -2
  249. package/lib/chevre/service/task.d.ts +9 -0
  250. package/lib/chevre/service/task.js +43 -4
  251. package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
  252. package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
  253. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
  254. package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +1 -1
  255. package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
  256. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
  257. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
  258. package/lib/chevre/service/transaction/moneyTransfer.js +10 -13
  259. package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
  260. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
  261. package/lib/chevre/service/transaction/orderProgramMembership.js +7 -3
  262. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
  263. package/lib/chevre/service/transaction/placeOrder.js +1 -5
  264. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
  265. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
  266. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  267. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  268. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  269. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  270. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  271. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
  272. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  273. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  274. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  275. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  276. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  277. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  278. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
  279. package/lib/chevre/service/transaction/placeOrderInProgress.js +28 -15
  280. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
  281. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
  282. package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
  283. package/lib/chevre/service/transaction/returnOrder.js +228 -36
  284. package/lib/chevre/service/transaction.d.ts +7 -13
  285. package/lib/chevre/service/transaction.js +12 -139
  286. package/lib/chevre/settings.d.ts +13 -1
  287. package/lib/chevre/settings.js +56 -6
  288. package/package.json +5 -5
  289. package/example/src/chevre/createManyEventsIfNotExist.ts +0 -205
  290. package/example/src/chevre/eventCatalog2eventService.ts +0 -123
  291. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  292. package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
  293. package/example/src/chevre/migrateStockHolderKeys.ts +0 -89
  294. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  295. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  296. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
@@ -19,67 +19,113 @@ const onReservationCanceled_1 = require("./potentialActions/onReservationCancele
19
19
  /**
20
20
  * 進行中の予約をキャンセルする
21
21
  */
22
- // tslint:disable-next-line:max-func-body-length
23
- function cancelPendingReservation(actionAttributesList) {
24
- // tslint:disable-next-line:max-func-body-length
22
+ function cancelPendingReservation(actionAttributes) {
25
23
  return (repos) => __awaiter(this, void 0, void 0, function* () {
24
+ var _a;
26
25
  const now = new Date();
27
26
  let canceledReservations = [];
28
- if (actionAttributesList.length > 0) {
29
- // tslint:disable-next-line:max-func-body-length
30
- yield Promise.all(actionAttributesList.map((actionAttributes) => __awaiter(this, void 0, void 0, function* () {
31
- // let canceledReservation: factory.reservation.eventReservation.IReservation | undefined;
32
- const reserveTransactionId = actionAttributes.purpose.id;
33
- // アクション開始
34
- const action = yield repos.action.start(actionAttributes);
35
- const actionObject = actionAttributes.object;
36
- let cancelResult;
37
- try {
38
- // 予約取引を検索
39
- const reserveTransactions = yield repos.assetTransaction.search({
40
- limit: 1,
41
- page: 1,
42
- typeOf: factory.assetTransactionType.Reserve,
43
- ids: [reserveTransactionId]
44
- });
45
- const reserveTransaction = reserveTransactions.shift();
46
- if (reserveTransaction !== undefined) {
47
- const reservationFor = reserveTransaction.object.reservationFor;
48
- if (reservationFor === undefined) {
49
- throw new factory.errors.NotFound('transaction.object.reservationFor');
27
+ const { reserveTransaction } = yield cancelPengindIfNotYet(actionAttributes, now)(repos);
28
+ if (actionAttributes.object.typeOf === factory.reservationType.ReservationPackage) {
29
+ if (reserveTransaction.object.disablePendingReservations === true) {
30
+ // Pendingが存在しない場合は検索しても無駄(2023-06-05~)
31
+ }
32
+ else {
33
+ canceledReservations = yield repos.reservation.search({
34
+ reservationNumber: { $eq: actionAttributes.object.reservationNumber },
35
+ typeOf: factory.reservationType.EventReservation
36
+ });
37
+ canceledReservations = canceledReservations.map((r) => {
38
+ // _idは不要であり、存在すると予期せぬ影響を及ぼす可能性がある
39
+ delete r._id;
40
+ return r;
41
+ });
42
+ }
43
+ }
44
+ yield (0, onReservationCanceled_1.onReservationCanceled)(canceledReservations, false, {
45
+ project: { id: reserveTransaction.project.id },
46
+ id: String((_a = reserveTransaction.object.reservationFor) === null || _a === void 0 ? void 0 : _a.id)
47
+ })({ task: repos.task });
48
+ });
49
+ }
50
+ exports.cancelPendingReservation = cancelPendingReservation;
51
+ function cancelPengindIfNotYet(params, now) {
52
+ // tslint:disable-next-line:max-func-body-length
53
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
54
+ const actionAttributes = params;
55
+ const reserveTransactionId = actionAttributes.purpose.id;
56
+ // 予約取引を検索
57
+ const reserveTransactions = yield repos.assetTransaction.search({
58
+ limit: 1,
59
+ page: 1,
60
+ typeOf: factory.assetTransactionType.Reserve,
61
+ ids: [reserveTransactionId]
62
+ });
63
+ const reserveTransaction = reserveTransactions.shift();
64
+ if (reserveTransaction === undefined) {
65
+ throw new factory.errors.NotFound(factory.assetTransactionType.Reserve);
66
+ }
67
+ // 冪等性を担保(2023-06-05~)
68
+ const completedActions = yield repos.action.search({
69
+ limit: 1,
70
+ page: 1,
71
+ actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] },
72
+ typeOf: { $eq: params.typeOf },
73
+ object: {
74
+ typeOf: { $eq: params.object.typeOf },
75
+ reservationNumber: { $eq: params.object.reservationNumber }
76
+ },
77
+ purpose: {
78
+ id: { $in: [params.purpose.id] },
79
+ typeOf: { $in: [params.purpose.typeOf] }
80
+ }
81
+ }, ['_id'], []);
82
+ if (completedActions.length === 0) {
83
+ // アクション開始
84
+ const action = yield repos.action.start(actionAttributes);
85
+ const actionObject = actionAttributes.object;
86
+ let cancelResult;
87
+ try {
88
+ if (reserveTransaction !== undefined) {
89
+ const reservationFor = reserveTransaction.object.reservationFor;
90
+ if (reservationFor === undefined) {
91
+ throw new factory.errors.NotFound('transaction.object.reservationFor');
92
+ }
93
+ // ReservationPackageに対応(2022-12-23~)
94
+ if (actionObject.typeOf === factory.reservationType.ReservationPackage) {
95
+ const subReservation = reserveTransaction.object.subReservation;
96
+ if (Array.isArray(subReservation) && subReservation.length > 0) {
97
+ yield Promise.all(subReservation.map((cancelingSubReservation) => __awaiter(this, void 0, void 0, function* () {
98
+ yield processUnlockSeat({
99
+ reservation: {
100
+ id: cancelingSubReservation.id,
101
+ project: { id: reserveTransaction.project.id },
102
+ reservedTicket: cancelingSubReservation.reservedTicket,
103
+ subReservation: cancelingSubReservation.subReservation,
104
+ reservationFor: {
105
+ id: String(reservationFor.id),
106
+ startDate: (reservationFor.typeOf === factory.eventType.ScreeningEvent)
107
+ ? reservationFor.startDate
108
+ : reservationFor.departureTime
109
+ }
110
+ },
111
+ // holder:取引番号に対応(2023-06-05~)
112
+ expectedHolder: (reserveTransaction.object.useHoldStockByTransactionNumber === true)
113
+ ? reserveTransaction.transactionNumber
114
+ : reserveTransactionId
115
+ })(repos);
116
+ yield processUnlockOfferRateLimit({
117
+ reservation: {
118
+ reservationNumber: reserveTransaction.object.reservationNumber,
119
+ reservedTicket: cancelingSubReservation.reservedTicket
120
+ },
121
+ reservationFor
122
+ })(repos);
123
+ })));
124
+ }
125
+ if (reserveTransaction.object.disablePendingReservations === true) {
126
+ // disablePendingReservationsの場合は処理不要(2023-06-05~)
50
127
  }
51
- // ReservationPackageに対応(2022-12-23~)
52
- if (actionObject.typeOf === factory.reservationType.ReservationPackage) {
53
- const subReservation = reserveTransaction.object.subReservation;
54
- if (Array.isArray(subReservation) && subReservation.length > 0) {
55
- yield Promise.all(subReservation.map((cancelingSubReservation) => __awaiter(this, void 0, void 0, function* () {
56
- // const cancelingReservation: factory.reservation.eventReservation.IReservation = {
57
- // ...cancelingSubReservation,
58
- // reservationFor
59
- // };
60
- yield processUnlockSeat({
61
- reservation: {
62
- id: cancelingSubReservation.id,
63
- reservedTicket: cancelingSubReservation.reservedTicket,
64
- subReservation: cancelingSubReservation.subReservation,
65
- reservationFor: {
66
- id: String(reservationFor.id),
67
- startDate: (reservationFor.typeOf === factory.eventType.ScreeningEvent)
68
- ? reservationFor.startDate
69
- : reservationFor.departureTime
70
- }
71
- },
72
- expectedHolder: reserveTransactionId
73
- })(repos);
74
- yield processUnlockOfferRateLimit({
75
- reservation: {
76
- reservationNumber: cancelingSubReservation.reservationNumber,
77
- reservedTicket: cancelingSubReservation.reservedTicket
78
- },
79
- reservationFor
80
- })(repos);
81
- })));
82
- }
128
+ else {
83
129
  // 予約番号単位でキャンセル状態に変更する
84
130
  cancelResult = yield repos.reservation.cancelByReservationNumber({
85
131
  reservationNumber: actionObject.reservationNumber,
@@ -87,82 +133,41 @@ function cancelPendingReservation(actionAttributesList) {
87
133
  modifiedTime: now
88
134
  });
89
135
  }
90
- else {
91
- // 廃止(2022-12-27~)
92
- throw new factory.errors.NotImplemented(`object.typeOf '${actionObject.typeOf}' not implemented`);
93
- // const cancelingSubReservation = reserveTransaction.object.subReservation?.find((r) => {
94
- // return r.id === actionObject.id;
95
- // });
96
- // // 取消対象予約が取引に存在すれば、適宜unlock
97
- // if (cancelingSubReservation !== undefined) {
98
- // const cancelingReservation: factory.reservation.eventReservation.IReservation = {
99
- // ...cancelingSubReservation,
100
- // reservationFor
101
- // };
102
- // await processUnlockSeat({
103
- // reservation: cancelingReservation,
104
- // expectedHolder: reserveTransactionId
105
- // })(repos);
106
- // await processUnlockOfferRateLimit({ reservation: cancelingReservation, reservationFor })(repos);
107
- // // 予約が存在すればキャンセル状態に変更する
108
- // const reservationCount = await repos.reservation.count({
109
- // typeOf: cancelingSubReservation.typeOf,
110
- // ids: [cancelingSubReservation.id]
111
- // });
112
- // if (reservationCount > 0) {
113
- // await repos.reservation.cancel<factory.reservationType.EventReservation>({
114
- // id: cancelingSubReservation.id,
115
- // previousReservationStatus: actionObject.reservationStatus,
116
- // modifiedTime: now
117
- // });
118
- // }
119
- // }
120
- }
121
136
  }
122
- }
123
- catch (error) {
124
- // actionにエラー結果を追加
125
- try {
126
- const actionError = Object.assign(Object.assign({}, error), { message: error.message, name: error.name });
127
- yield repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error: actionError });
128
- }
129
- catch (__) {
130
- // 失敗したら仕方ない
137
+ else {
138
+ // 廃止(2022-12-27~)
139
+ throw new factory.errors.NotImplemented(`object.typeOf '${actionObject.typeOf}' not implemented`);
131
140
  }
132
- throw error;
133
141
  }
134
- // アクション完了
135
- const actionResult = Object.assign({}, (cancelResult !== undefined) ? {
136
- cancelResult: {
137
- // n: cancelResult.n,
138
- // nModified: cancelResult.nModified,
139
- // ok: cancelResult.ok,
140
- matchedCount: cancelResult.matchedCount,
141
- modifiedCount: cancelResult.modifiedCount
142
- }
143
- } : undefined
144
- // canceledReservationId: canceledReservation?.id
145
- );
146
- yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: actionResult });
147
- // await onReservationCanceledByAction(actionAttributes)({ task: repos.task });
148
- if (actionObject.typeOf === factory.reservationType.ReservationPackage) {
149
- // 最新のconfirmedReservationsを検索
150
- canceledReservations = yield repos.reservation.search({
151
- reservationNumber: { $eq: actionObject.reservationNumber },
152
- typeOf: factory.reservationType.EventReservation
153
- });
154
- canceledReservations = canceledReservations.map((r) => {
155
- // _idは不要であり、存在すると予期せぬ影響を及ぼす可能性がある
156
- delete r._id;
157
- return r;
158
- });
142
+ }
143
+ catch (error) {
144
+ // actionにエラー結果を追加
145
+ try {
146
+ const actionError = Object.assign(Object.assign({}, error), { message: error.message, name: error.name });
147
+ yield repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error: actionError });
159
148
  }
160
- yield (0, onReservationCanceled_1.onReservationCanceled)(canceledReservations, false)({ task: repos.task });
161
- })));
149
+ catch (__) {
150
+ // 失敗したら仕方ない
151
+ }
152
+ throw error;
153
+ }
154
+ // アクション完了
155
+ const actionResult = Object.assign({}, (cancelResult !== undefined) ? {
156
+ cancelResult: {
157
+ // n: cancelResult.n,
158
+ // nModified: cancelResult.nModified,
159
+ // ok: cancelResult.ok,
160
+ matchedCount: cancelResult.matchedCount,
161
+ modifiedCount: cancelResult.modifiedCount
162
+ }
163
+ } : undefined
164
+ // canceledReservationId: canceledReservation?.id
165
+ );
166
+ yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: actionResult });
162
167
  }
168
+ return { reserveTransaction };
163
169
  });
164
170
  }
165
- exports.cancelPendingReservation = cancelPendingReservation;
166
171
  /**
167
172
  * 予約をキャンセルする
168
173
  */
@@ -175,6 +180,7 @@ function cancelReservation(actionAttributesList) {
175
180
  yield Promise.all(actionAttributesList.map((actionAttributes) => __awaiter(this, void 0, void 0, function* () {
176
181
  const action = yield repos.action.start(actionAttributes);
177
182
  let cancelResult;
183
+ let canceledReservationForId;
178
184
  try {
179
185
  if (actionAttributes.object.typeOf === factory.reservationType.ReservationPackage) {
180
186
  // 予約取引を検索
@@ -186,22 +192,20 @@ function cancelReservation(actionAttributesList) {
186
192
  });
187
193
  const reserveTransaction = reserveTransactions.shift();
188
194
  if (reserveTransaction === undefined) {
189
- throw new factory.errors.NotFound('ReserveTransaction');
195
+ throw new factory.errors.NotFound(factory.assetTransactionType.Reserve);
190
196
  }
191
197
  const reservationFor = reserveTransaction.object.reservationFor;
192
198
  if (reservationFor === undefined) {
193
199
  throw new factory.errors.NotFound('transaction.object.reservationFor');
194
200
  }
201
+ canceledReservationForId = String(reservationFor.id);
195
202
  const subReservation = reserveTransaction.object.subReservation;
196
203
  if (Array.isArray(subReservation) && subReservation.length > 0) {
197
204
  yield Promise.all(subReservation.map((cancelingSubReservation) => __awaiter(this, void 0, void 0, function* () {
198
- // const cancelingReservation: factory.reservation.eventReservation.IReservation = {
199
- // ...cancelingSubReservation,
200
- // reservationFor
201
- // };
202
205
  yield processUnlockSeat({
203
206
  reservation: {
204
207
  id: cancelingSubReservation.id,
208
+ project: { id: reserveTransaction.project.id },
205
209
  reservedTicket: cancelingSubReservation.reservedTicket,
206
210
  subReservation: cancelingSubReservation.subReservation,
207
211
  reservationFor: {
@@ -211,11 +215,14 @@ function cancelReservation(actionAttributesList) {
211
215
  : reservationFor.departureTime
212
216
  }
213
217
  },
214
- expectedHolder: reserveTransaction.id
218
+ // holder:取引番号に対応(2023-06-05~)
219
+ expectedHolder: (reserveTransaction.object.useHoldStockByTransactionNumber === true)
220
+ ? reserveTransaction.transactionNumber
221
+ : reserveTransaction.id
215
222
  })(repos);
216
223
  yield processUnlockOfferRateLimit({
217
224
  reservation: {
218
- reservationNumber: cancelingSubReservation.reservationNumber,
225
+ reservationNumber: reserveTransaction.object.reservationNumber,
219
226
  reservedTicket: cancelingSubReservation.reservedTicket
220
227
  },
221
228
  reservationFor
@@ -241,14 +248,16 @@ function cancelReservation(actionAttributesList) {
241
248
  object: { reservations: { id: { $in: [reservation.id] } } }
242
249
  });
243
250
  const reserveTransaction = reserveTransactions.shift();
244
- let expectedHolder;
245
- if (reserveTransaction !== undefined) {
246
- expectedHolder = reserveTransaction.id;
247
- }
251
+ canceledReservationForId = reservation.reservationFor.id;
252
+ // holder:取引番号に対応(2023-06-05~)
253
+ const expectedHolder = ((reserveTransaction === null || reserveTransaction === void 0 ? void 0 : reserveTransaction.object.useHoldStockByTransactionNumber) === true)
254
+ ? reserveTransaction.transactionNumber
255
+ : reserveTransaction === null || reserveTransaction === void 0 ? void 0 : reserveTransaction.id;
248
256
  if (typeof expectedHolder === 'string') {
249
257
  yield processUnlockSeat({
250
258
  reservation: {
251
259
  id: reservation.id,
260
+ project: { id: reservation.project.id },
252
261
  reservedTicket: reservation.reservedTicket,
253
262
  subReservation: reservation.subReservation,
254
263
  reservationFor: {
@@ -297,7 +306,6 @@ function cancelReservation(actionAttributesList) {
297
306
  // canceledReservationId: canceledReservation?.id
298
307
  );
299
308
  yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: actionResult });
300
- // await onReservationCanceledByAction(actionAttributes)({ task: repos.task });
301
309
  let canceledReservations = [];
302
310
  if (actionAttributes.object.typeOf === factory.reservationType.ReservationPackage) {
303
311
  const reservationNumber = actionAttributes.object.reservationNumber;
@@ -320,7 +328,10 @@ function cancelReservation(actionAttributesList) {
320
328
  });
321
329
  canceledReservations = [canceledReservation];
322
330
  }
323
- yield (0, onReservationCanceled_1.onReservationCanceled)(canceledReservations, true)({ task: repos.task });
331
+ yield (0, onReservationCanceled_1.onReservationCanceled)(canceledReservations, true, {
332
+ project: { id: actionAttributes.project.id },
333
+ id: canceledReservationForId
334
+ })({ task: repos.task });
324
335
  })));
325
336
  }
326
337
  });
@@ -336,13 +347,16 @@ function processUnlockSeat(params) {
336
347
  .toDate();
337
348
  // 予約IDでロックされていれば解除
338
349
  let lockKey = {
350
+ project: reservation.project,
339
351
  eventId: reservation.reservationFor.id,
340
352
  startDate: eventStartDate,
353
+ hasTicketedSeat: false,
341
354
  offer: {
342
355
  itemOffered: { serviceOutput: { id: reservation.id } },
343
356
  seatNumber: '',
344
357
  seatSection: ''
345
- }
358
+ },
359
+ holder: params.expectedHolder
346
360
  };
347
361
  let holder = yield repos.stockHolder.getHolder(lockKey);
348
362
  if (holder === params.expectedHolder) {
@@ -352,12 +366,15 @@ function processUnlockSeat(params) {
352
366
  const ticketedSeat = reservation.reservedTicket.ticketedSeat;
353
367
  if (ticketedSeat !== undefined) {
354
368
  lockKey = {
369
+ project: reservation.project,
355
370
  eventId: reservation.reservationFor.id,
356
371
  startDate: eventStartDate,
372
+ hasTicketedSeat: true,
357
373
  offer: {
358
374
  seatNumber: ticketedSeat.seatNumber,
359
375
  seatSection: ticketedSeat.seatSection
360
- }
376
+ },
377
+ holder: params.expectedHolder
361
378
  };
362
379
  holder = yield repos.stockHolder.getHolder(lockKey);
363
380
  if (holder === params.expectedHolder) {
@@ -373,12 +390,15 @@ function processUnlockSeat(params) {
373
390
  const seatNumber4sub = (_d = (_c = subReservation.reservedTicket) === null || _c === void 0 ? void 0 : _c.ticketedSeat) === null || _d === void 0 ? void 0 : _d.seatNumber;
374
391
  if (typeof seatSection4sub === 'string' && typeof seatNumber4sub === 'string') {
375
392
  const lockKey4sub = {
393
+ project: reservation.project,
376
394
  eventId: reservation.reservationFor.id,
377
395
  startDate: eventStartDate,
396
+ hasTicketedSeat: true,
378
397
  offer: {
379
398
  seatNumber: seatNumber4sub,
380
399
  seatSection: seatSection4sub
381
- }
400
+ },
401
+ holder: params.expectedHolder
382
402
  };
383
403
  const holder4sub = yield repos.stockHolder.getHolder(lockKey4sub);
384
404
  if (holder4sub === params.expectedHolder) {
@@ -1,9 +1,8 @@
1
- /**
2
- * 予約サービス
3
- */
1
+ import { MongoRepository as ActionRepo } from '../../repo/action';
2
+ import { MongoRepository as AssetTransactionRepo } from '../../repo/assetTransaction';
4
3
  import { MongoRepository as ReservationRepo } from '../../repo/reservation';
5
4
  import { MongoRepository as TaskRepo } from '../../repo/task';
6
- export declare function checkInRerservation(params: {
5
+ interface ICheckInReservationParams {
7
6
  project: {
8
7
  id: string;
9
8
  };
@@ -23,7 +22,13 @@ export declare function checkInRerservation(params: {
23
22
  ids?: string[];
24
23
  };
25
24
  };
25
+ }
26
+ export declare function checkInReservation(params: ICheckInReservationParams & {
27
+ reserveIfNotYet: boolean;
26
28
  }): (repos: {
29
+ action: ActionRepo;
30
+ assetTransaction: AssetTransactionRepo;
27
31
  reservation: ReservationRepo;
28
32
  task: TaskRepo;
29
33
  }) => Promise<void>;
34
+ export {};
@@ -9,18 +9,43 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.checkInRerservation = void 0;
12
+ exports.checkInReservation = void 0;
13
+ const createDebug = require("debug");
14
+ const factory = require("../../factory");
15
+ const confirmReservation_1 = require("./confirmReservation");
13
16
  const onReservationCheckedIn_1 = require("./potentialActions/onReservationCheckedIn");
14
- function checkInRerservation(params) {
17
+ const debug = createDebug('chevre-domain:service:reserve:checkInReservation');
18
+ function checkInReservation(params) {
15
19
  return (repos) => __awaiter(this, void 0, void 0, function* () {
16
20
  const now = new Date();
21
+ // confirmReservationが間に合わない可能性を考慮する(2023-06-01~)
22
+ debug('reserveIfNotYet?', params.reserveIfNotYet, 'ids:', params.object.ids, 'reservationNumbers:', params.object.reservationNumbers);
23
+ if (params.reserveIfNotYet === true) {
24
+ yield reserveIfNotYet(params)(repos);
25
+ }
17
26
  // 発券処理(Array対応)
18
27
  let checkedInReservationIds;
19
28
  if (Array.isArray(params.object.ids) && params.object.ids.length > 0) {
29
+ const existingReservationCount = yield repos.reservation.count({
30
+ id: { $in: params.object.ids },
31
+ typeOf: factory.reservationType.EventReservation
32
+ });
33
+ if (existingReservationCount !== params.object.ids.length) {
34
+ throw new factory.errors.NotFound(factory.reservationType.EventReservation, `Some reservations dot not exist. ${params.object.ids.join(',')}`);
35
+ }
20
36
  yield repos.reservation.checkInIfNot({ id: { $in: params.object.ids }, now });
21
37
  checkedInReservationIds = params.object.ids;
22
38
  }
23
39
  if (Array.isArray(params.object.reservationNumbers) && params.object.reservationNumbers.length > 0) {
40
+ for (const reservationNumber of params.object.reservationNumbers) {
41
+ const existingReservationCount = yield repos.reservation.count({
42
+ reservationNumber: { $eq: reservationNumber },
43
+ typeOf: factory.reservationType.EventReservation
44
+ });
45
+ if (existingReservationCount === 0) {
46
+ throw new factory.errors.NotFound(factory.reservationType.EventReservation, `Some reservations dot not exist. ${params.object.reservationNumbers.join(',')}`);
47
+ }
48
+ }
24
49
  yield repos.reservation.checkInIfNot({ reservationNumber: { $in: params.object.reservationNumbers }, now });
25
50
  // 予約番号リストを予約IDリストに変換
26
51
  checkedInReservationIds = yield repos.reservation.searchIdsByReservationNumber({
@@ -37,4 +62,53 @@ function checkInRerservation(params) {
37
62
  })({ task: repos.task });
38
63
  });
39
64
  }
40
- exports.checkInRerservation = checkInRerservation;
65
+ exports.checkInReservation = checkInReservation;
66
+ function reserveIfNotYet(params) {
67
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
68
+ let reserveTransactions = [];
69
+ if (Array.isArray(params.object.ids) && params.object.ids.length > 0) {
70
+ reserveTransactions = yield repos.assetTransaction.search({
71
+ typeOf: factory.assetTransactionType.Reserve,
72
+ object: {
73
+ reservations: { id: { $in: params.object.ids } }
74
+ },
75
+ statuses: [factory.transactionStatusType.Confirmed]
76
+ }, ['_id', 'transactionNumber', 'object', 'project', 'typeOf']);
77
+ debug(reserveTransactions.length, 'reserveTransactions found in reserveIfNotYet. ids:', params.object.ids);
78
+ }
79
+ if (Array.isArray(params.object.reservationNumbers) && params.object.reservationNumbers.length > 0) {
80
+ reserveTransactions = yield repos.assetTransaction.search({
81
+ typeOf: factory.assetTransactionType.Reserve,
82
+ object: {
83
+ reservationNumber: { $in: params.object.reservationNumbers }
84
+ },
85
+ statuses: [factory.transactionStatusType.Confirmed]
86
+ }, ['_id', 'transactionNumber', 'object', 'project', 'typeOf']);
87
+ debug(reserveTransactions.length, 'reserveTransactions found in reserveIfNotYet. reservationNumbers:', params.object.reservationNumbers);
88
+ }
89
+ yield Promise.all(reserveTransactions.map((reserveTransaction) => __awaiter(this, void 0, void 0, function* () {
90
+ var _a;
91
+ if (typeof ((_a = reserveTransaction.object.reservationFor) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') {
92
+ yield (0, confirmReservation_1.confirmReservation)({
93
+ actionAttributesList: [{
94
+ project: reserveTransaction.project,
95
+ typeOf: factory.actionType.ReserveAction,
96
+ object: {
97
+ typeOf: reserveTransaction.object.typeOf,
98
+ reservationNumber: reserveTransaction.object.reservationNumber,
99
+ reservationStatus: (typeof reserveTransaction.object.reservationStatus === 'string')
100
+ ? reserveTransaction.object.reservationStatus
101
+ : factory.reservationStatusType.ReservationPending,
102
+ reservationFor: reserveTransaction.object.reservationFor
103
+ },
104
+ agent: reserveTransaction.project,
105
+ purpose: { typeOf: reserveTransaction.typeOf, id: reserveTransaction.id }
106
+ }],
107
+ useOnReservationConfirmed: false,
108
+ byTask: false
109
+ })(repos);
110
+ debug('confirmReservation processed in reserveIfNotYet. reservationNumber:', reserveTransaction.object.reservationNumber);
111
+ }
112
+ })));
113
+ });
114
+ }
@@ -1,15 +1,18 @@
1
- /**
2
- * 予約サービス
3
- */
4
1
  import * as factory from '../../factory';
5
2
  import { MongoRepository as ActionRepo } from '../../repo/action';
3
+ import { MongoRepository as AssetTrasactionRepo } from '../../repo/assetTransaction';
6
4
  import { MongoRepository as ReservationRepo } from '../../repo/reservation';
7
5
  import { MongoRepository as TaskRepo } from '../../repo/task';
8
6
  /**
9
7
  * 予約を確定する
10
8
  */
11
- export declare function confirmReservation(actionAttributesList: factory.action.reserve.IAttributes[]): (repos: {
9
+ export declare function confirmReservation(params: {
10
+ actionAttributesList: factory.action.reserve.IAttributes[];
11
+ useOnReservationConfirmed: boolean;
12
+ byTask: boolean;
13
+ }): (repos: {
12
14
  action: ActionRepo;
15
+ assetTransaction: AssetTrasactionRepo;
13
16
  reservation: ReservationRepo;
14
17
  task: TaskRepo;
15
18
  }) => Promise<void>;