@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
@@ -28,7 +28,7 @@ function validateAccount(params) {
28
28
  if (typeof sellerId !== 'string') {
29
29
  throw new factory.errors.ArgumentNull('recipient.id');
30
30
  }
31
- const seller = yield repos.seller.findById({ id: sellerId });
31
+ const seller = yield repos.seller.findById({ id: sellerId }, ['paymentAccepted'], []);
32
32
  const paymentAccepted = (_d = seller.paymentAccepted) === null || _d === void 0 ? void 0 : _d.some((a) => a.paymentMethodType === paymentMethodType);
33
33
  if (paymentAccepted !== true) {
34
34
  throw new factory.errors.Argument('recipient', `payment not accepted`);
@@ -126,8 +126,9 @@ function createPayObjectServiceOutput(params) {
126
126
  if (Array.isArray(movieTickets)) {
127
127
  paymentServiceOutput = movieTickets.map((movieTicket) => {
128
128
  var _a;
129
+ const amount = movieTicket2amount(transaction, movieTicket);
129
130
  const reservation4invoice = movieTicket2reservation4invoice(movieTicket, order, String(paymentMethodType));
130
- return Object.assign({ identifier: movieTicket.identifier }, (typeof ((_a = reservation4invoice.priceSpecification) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
131
+ return Object.assign(Object.assign({ identifier: movieTicket.identifier }, (typeof (amount === null || amount === void 0 ? void 0 : amount.value) === 'number') ? { amount } : undefined), (typeof ((_a = reservation4invoice.priceSpecification) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string')
131
132
  ? {
132
133
  serviceOutput: reservation4invoice
133
134
  }
@@ -140,6 +141,21 @@ function createPayObjectServiceOutput(params) {
140
141
  }
141
142
  return paymentServiceOutput;
142
143
  }
144
+ function movieTicket2amount(transaction, movieTicket) {
145
+ var _a;
146
+ let amount;
147
+ const accountsReceivables = transaction.object.accountsReceivablesByServiceType;
148
+ if (Array.isArray(accountsReceivables)) {
149
+ const accountsReceivable = (_a = accountsReceivables.find((a) => a.serviceType === movieTicket.serviceType)) === null || _a === void 0 ? void 0 : _a.accountsReceivable;
150
+ if (typeof accountsReceivable === 'number') {
151
+ amount = {
152
+ typeOf: 'MonetaryAmount',
153
+ value: accountsReceivable
154
+ };
155
+ }
156
+ }
157
+ return amount;
158
+ }
143
159
  function reservationPriceComponent2invoicePriceComponent(component) {
144
160
  var _a;
145
161
  const accounting = (typeof ((_a = component.accounting) === null || _a === void 0 ? void 0 : _a.accountsReceivable) === 'number')
@@ -96,7 +96,11 @@ export declare function check(params: factory.action.check.paymentMethod.movieTi
96
96
  /**
97
97
  * 取引開始
98
98
  */
99
- export declare function start(params: factory.assetTransaction.pay.IStartParamsWithoutDetail, useCheckMovieTicketBeforePay: boolean): IStartOperation<factory.assetTransaction.pay.ITransaction>;
99
+ export declare function start(params: factory.assetTransaction.pay.IStartParamsWithoutDetail, options: {
100
+ useCheckMovieTicketBeforePay: boolean;
101
+ useCheckByIdentifierIfNotYet: boolean;
102
+ searchTrade4accountId: boolean;
103
+ }): IStartOperation<factory.assetTransaction.pay.ITransaction>;
100
104
  /**
101
105
  * 取引確定
102
106
  */
@@ -42,7 +42,7 @@ function publishPaymentUrl(params) {
42
42
  let result;
43
43
  switch (paymentServiceType) {
44
44
  case factory.service.paymentService.PaymentServiceType.CreditCard:
45
- const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId)(repos);
45
+ const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId, false)(repos);
46
46
  const acsUrl = authorizeResult.execTranResult.acsUrl;
47
47
  if (typeof acsUrl !== 'string' || acsUrl.length === 0) {
48
48
  throw new factory.errors.ServiceUnavailable('Payment URL unable to publish');
@@ -106,7 +106,7 @@ exports.check = check;
106
106
  /**
107
107
  * 取引開始
108
108
  */
109
- function start(params, useCheckMovieTicketBeforePay) {
109
+ function start(params, options) {
110
110
  return (repos) => __awaiter(this, void 0, void 0, function* () {
111
111
  var _a, _b;
112
112
  // 金額をfix
@@ -137,11 +137,12 @@ function start(params, useCheckMovieTicketBeforePay) {
137
137
  transaction = yield processAuthorizeAccount(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id))(repos);
138
138
  break;
139
139
  case factory.service.paymentService.PaymentServiceType.CreditCard:
140
- transaction = yield processAuthorizeCreditCard(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id))(repos);
140
+ transaction =
141
+ yield processAuthorizeCreditCard(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id), options.searchTrade4accountId)(repos);
141
142
  break;
142
143
  case factory.service.paymentService.PaymentServiceType.MovieTicket:
143
144
  transaction =
144
- yield processAuthorizeMovieTicket(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id), useCheckMovieTicketBeforePay)(repos);
145
+ yield processAuthorizeMovieTicket(params, transaction, String(paymentService === null || paymentService === void 0 ? void 0 : paymentService.id), options.useCheckMovieTicketBeforePay, options.useCheckByIdentifierIfNotYet)(repos);
145
146
  break;
146
147
  default:
147
148
  throw new factory.errors.NotImplemented(`Payment service '${paymentServiceType}' not implemented`);
@@ -193,7 +194,7 @@ function fixPaymentService(params) {
193
194
  project: { id: { $eq: params.project.id } },
194
195
  typeOf: { $eq: paymentServiceType },
195
196
  id: { $eq: paymentServiceId }
196
- });
197
+ }, [], []);
197
198
  paymentService = paymentServices.shift();
198
199
  if (paymentService === undefined) {
199
200
  throw new factory.errors.NotFound('PaymentService');
@@ -209,7 +210,7 @@ function validateSeller(params) {
209
210
  if (typeof sellerId !== 'string') {
210
211
  throw new factory.errors.ArgumentNull('recipient.id');
211
212
  }
212
- const seller = yield repos.seller.findById({ id: sellerId });
213
+ const seller = yield repos.seller.findById({ id: sellerId }, ['paymentAccepted'], []);
213
214
  const paymentMethodType = (_b = params.object.paymentMethod) === null || _b === void 0 ? void 0 : _b.typeOf;
214
215
  if (typeof paymentMethodType !== 'string') {
215
216
  throw new factory.errors.ArgumentNull('object.paymentMethod.typeOf');
@@ -253,9 +254,9 @@ function processAuthorizeAccount(params, transaction, paymentServiceId) {
253
254
  })(repos);
254
255
  });
255
256
  }
256
- function processAuthorizeCreditCard(params, transaction, paymentServiceId) {
257
+ function processAuthorizeCreditCard(params, transaction, paymentServiceId, searchTrade4accountId) {
257
258
  return (repos) => __awaiter(this, void 0, void 0, function* () {
258
- const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId)(repos);
259
+ const authorizeResult = yield CreditCardPayment.authorize(params, paymentServiceId, searchTrade4accountId)(repos);
259
260
  return saveAuthorizeResult({
260
261
  id: transaction.id,
261
262
  update: {
@@ -270,18 +271,24 @@ function processAuthorizeCreditCard(params, transaction, paymentServiceId) {
270
271
  })(repos);
271
272
  });
272
273
  }
273
- function processAuthorizeMovieTicket(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay) {
274
+ function processAuthorizeMovieTicket(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay, useCheckByIdentifierIfNotYet) {
274
275
  return (repos) => __awaiter(this, void 0, void 0, function* () {
275
- const { accountId, checkResult, payAction } = yield MovieTicketPayment.authorize(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay)(repos);
276
+ const { accountId, payAction, accountsReceivablesByServiceType } = yield MovieTicketPayment.authorize(params, transaction, paymentServiceId, useCheckMovieTicketBeforePay, useCheckByIdentifierIfNotYet)(repos);
276
277
  return saveAuthorizeResult({
277
278
  id: transaction.id,
278
- update: Object.assign({ 'object.accountId': accountId, 'object.paymentMethod.accountId': accountId, 'object.payAction': payAction }, (checkResult !== undefined) ? { 'object.checkResult': checkResult } : undefined)
279
+ update: {
280
+ 'object.accountId': accountId,
281
+ 'object.paymentMethod.accountId': accountId,
282
+ 'object.payAction': payAction,
283
+ // 認証レスポンスより計上金額を保管(2023-05-15~)
284
+ 'object.accountsReceivablesByServiceType': accountsReceivablesByServiceType
285
+ }
279
286
  })(repos);
280
287
  });
281
288
  }
282
289
  function saveAuthorizeResult(params) {
283
290
  return (repos) => __awaiter(this, void 0, void 0, function* () {
284
- return repos.assetTransaction.findByIdAndUpdate(params);
291
+ return repos.assetTransaction.findByIdAndUpdateInProgress(params);
285
292
  });
286
293
  }
287
294
  /**
@@ -393,27 +400,6 @@ function exportTasksById(params) {
393
400
  });
394
401
  const potentialActions = transaction.potentialActions;
395
402
  const taskAttributes = [];
396
- // 資産取引削除タスクを作成
397
- const deleteTransactionTask = {
398
- project: transaction.project,
399
- name: factory.taskName.DeleteAssetTransaction,
400
- status: factory.taskStatus.Ready,
401
- runsAt: moment(transaction.endDate)
402
- .add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
403
- .toDate(),
404
- remainingNumberOfTries: 3,
405
- numberOfTried: 0,
406
- executionResults: [],
407
- data: {
408
- object: {
409
- project: transaction.project,
410
- id: transaction.id,
411
- transactionNumber: transaction.transactionNumber,
412
- typeOf: transaction.typeOf
413
- }
414
- }
415
- };
416
- taskAttributes.push(deleteTransactionTask);
417
403
  // タスク実行日時バッファの指定があれば調整
418
404
  let taskRunsAt = new Date();
419
405
  if (typeof params.runsTasksAfterInSeconds === 'number') {
@@ -470,7 +456,7 @@ function exportTasksById(params) {
470
456
  default:
471
457
  throw new factory.errors.NotImplemented(`Transaction status "${transaction.status}" not implemented.`);
472
458
  }
473
- return repos.task.saveMany(taskAttributes);
459
+ return repos.task.saveMany(taskAttributes, { emitImmediately: true });
474
460
  });
475
461
  }
476
462
  exports.exportTasksById = exportTasksById;
@@ -15,7 +15,6 @@ exports.exportTasksById = exports.cancel = exports.confirm = exports.start = voi
15
15
  */
16
16
  const moment = require("moment");
17
17
  const factory = require("../../factory");
18
- const settings_1 = require("../../settings");
19
18
  const factory_1 = require("./refund/factory");
20
19
  const potentialActions_1 = require("./refund/potentialActions");
21
20
  /**
@@ -92,7 +91,7 @@ function fixPaymentService(params) {
92
91
  project: { id: { $eq: params.payAction.project.id } },
93
92
  typeOf: { $eq: params.paymentServiceType },
94
93
  id: { $eq: paymentServiceId }
95
- });
94
+ }, [], []);
96
95
  paymentService = paymentServices.shift();
97
96
  if (paymentService === undefined) {
98
97
  throw new factory.errors.NotFound('PaymentService');
@@ -160,27 +159,6 @@ function exportTasksById(params) {
160
159
  });
161
160
  const potentialActions = transaction.potentialActions;
162
161
  const taskAttributes = [];
163
- // 資産取引削除タスクを作成
164
- const deleteTransactionTask = {
165
- project: transaction.project,
166
- name: factory.taskName.DeleteAssetTransaction,
167
- status: factory.taskStatus.Ready,
168
- runsAt: moment(transaction.endDate)
169
- .add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
170
- .toDate(),
171
- remainingNumberOfTries: 3,
172
- numberOfTried: 0,
173
- executionResults: [],
174
- data: {
175
- object: {
176
- project: transaction.project,
177
- id: transaction.id,
178
- transactionNumber: transaction.transactionNumber,
179
- typeOf: transaction.typeOf
180
- }
181
- }
182
- };
183
- taskAttributes.push(deleteTransactionTask);
184
162
  // タスク実行日時バッファの指定があれば調整
185
163
  let taskRunsAt = new Date();
186
164
  if (typeof params.runsTasksAfterInSeconds === 'number') {
@@ -218,7 +196,7 @@ function exportTasksById(params) {
218
196
  default:
219
197
  throw new factory.errors.NotImplemented(`Transaction status "${transaction.status}" not implemented.`);
220
198
  }
221
- return repos.task.saveMany(taskAttributes);
199
+ return repos.task.saveMany(taskAttributes, { emitImmediately: true });
222
200
  });
223
201
  }
224
202
  exports.exportTasksById = exportTasksById;
@@ -13,10 +13,8 @@ exports.exportTasksById = exports.cancel = exports.confirm = exports.start = voi
13
13
  /**
14
14
  * サービス登録取引サービス
15
15
  */
16
- const moment = require("moment");
17
16
  const pecorinoapi = require("../../pecorinoapi");
18
17
  const factory = require("../../factory");
19
- const settings_1 = require("../../settings");
20
18
  const searchProductOffers_1 = require("../offer/product/searchProductOffers");
21
19
  const factory_1 = require("./registerService/factory");
22
20
  const potentialActions_1 = require("./registerService/potentialActions");
@@ -230,27 +228,6 @@ function exportTasksById(params) {
230
228
  });
231
229
  const potentialActions = transaction.potentialActions;
232
230
  const taskAttributes = [];
233
- // 資産取引削除タスクを作成
234
- const deleteTransactionTask = {
235
- project: transaction.project,
236
- name: factory.taskName.DeleteAssetTransaction,
237
- status: factory.taskStatus.Ready,
238
- runsAt: moment(transaction.endDate)
239
- .add(settings_1.ASSET_TRANSACTION_STORAGE_PERIOD_IN_DAYS, 'days')
240
- .toDate(),
241
- remainingNumberOfTries: 3,
242
- numberOfTried: 0,
243
- executionResults: [],
244
- data: {
245
- object: {
246
- project: transaction.project,
247
- id: transaction.id,
248
- transactionNumber: transaction.transactionNumber,
249
- typeOf: transaction.typeOf
250
- }
251
- }
252
- };
253
- taskAttributes.push(deleteTransactionTask);
254
231
  const taskRunsAt = new Date();
255
232
  switch (transaction.status) {
256
233
  case factory.transactionStatusType.Confirmed:
@@ -301,8 +278,7 @@ function exportTasksById(params) {
301
278
  default:
302
279
  throw new factory.errors.NotImplemented(`Transaction status "${transaction.status}" not implemented.`);
303
280
  }
304
- return repos.task.saveMany(taskAttributes);
305
- // return Promise.all(taskAttributes.map(async (a) => repos.task.save(a)));
281
+ return repos.task.saveMany(taskAttributes, { emitImmediately: true });
306
282
  });
307
283
  }
308
284
  exports.exportTasksById = exportTasksById;
@@ -4,6 +4,8 @@ type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSubReservat
4
4
  export { IAcceptedAddOn };
5
5
  export declare function createStartParams(params: factory.assetTransaction.reserve.IStartParamsWithoutDetail & {
6
6
  reservationNumber: string;
7
+ disablePendingReservations: boolean;
8
+ useHoldStockByTransactionNumber: boolean;
7
9
  }): factory.assetTransaction.IStartParams<factory.assetTransactionType.Reserve>;
8
10
  /**
9
11
  * ポイント特典を作成する
@@ -45,6 +47,11 @@ export declare function createAdditionalTicketText(params: {
45
47
  }): string | undefined;
46
48
  export type IUnitPriceSpecification = factory.priceSpecification.IPriceSpecification<factory.priceSpecificationType.UnitPriceSpecification>;
47
49
  export declare function createReservationFor(params: factory.event.screeningEvent.IEvent | factory.event.event.IEvent): factory.assetTransaction.reserve.IReservationFor;
50
+ export declare function createIssuedThrough(params: {
51
+ reservationFor: factory.event.screeningEvent.IEvent | factory.event.event.IEvent;
52
+ }): {
53
+ issuedThrough: factory.assetTransaction.reserve.IIssuedThrough;
54
+ };
48
55
  export declare function createReservation(params: {
49
56
  project: {
50
57
  id: string;
@@ -53,7 +60,6 @@ export declare function createReservation(params: {
53
60
  id: string;
54
61
  reserveDate: Date;
55
62
  agent: factory.assetTransaction.reserve.IAgent;
56
- broker?: factory.reservation.IBroker<factory.reservationType.EventReservation>;
57
63
  reservationNumber: string;
58
64
  reservationFor: factory.event.screeningEvent.IEvent | factory.event.event.IEvent;
59
65
  reservedTicket: factory.reservation.ITicket;
@@ -70,8 +76,12 @@ export declare function createReservation(params: {
70
76
  }): IObjectSubReservation;
71
77
  export declare function createPotentialActions(params: factory.assetTransaction.reserve.IConfirmParams & {
72
78
  transaction: factory.assetTransaction.ITransaction<factory.assetTransactionType.Reserve>;
73
- order?: factory.order.IOrder;
74
- }): factory.assetTransaction.reserve.IPotentialActions;
75
- export declare function createPendingReservationAction(params: {
79
+ order?: Pick<factory.order.IOrder, 'orderNumber' | 'customer' | 'typeOf'>;
80
+ }): {
81
+ potentialActions: factory.assetTransaction.reserve.IPotentialActions;
82
+ reservationPackage?: factory.action.reserve.IReservationPackageAsObject;
83
+ underName?: factory.reservation.IUnderName<factory.reservationType.EventReservation>;
84
+ };
85
+ export declare function createCancelPendingReservationAction(params: {
76
86
  transaction: factory.assetTransaction.ITransaction<factory.assetTransactionType.Reserve>;
77
- }): factory.action.cancel.reservation.IAttributes[];
87
+ }): factory.action.cancel.reservation.IAttributes | undefined;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPendingReservationAction = exports.createPotentialActions = exports.createReservation = exports.createReservationFor = exports.createAdditionalTicketText = exports.createAdditionalProperty = exports.validateAppliesToMovieTicket = exports.createReservedTicket = exports.createPointAward = exports.createStartParams = void 0;
3
+ exports.createCancelPendingReservationAction = exports.createPotentialActions = exports.createReservation = exports.createIssuedThrough = exports.createReservationFor = exports.createAdditionalTicketText = exports.createAdditionalProperty = exports.validateAppliesToMovieTicket = exports.createReservedTicket = exports.createPointAward = exports.createStartParams = void 0;
4
4
  /**
5
5
  * 予約取引ファクトリー
6
6
  */
@@ -12,8 +12,8 @@ function createStartParams(params) {
12
12
  var _a;
13
13
  const reservationNumber = params.reservationNumber;
14
14
  const reservationPackage = Object.assign({
15
- // clientUser: params.object.clientUser,
16
- project: params.project, reservationNumber: reservationNumber, typeOf: factory.reservationType.ReservationPackage }, (typeof ((_a = params.object.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.object.broker } : undefined);
15
+ // project: params.project,
16
+ reservationNumber: reservationNumber, reservationStatus: factory.reservationStatusType.ReservationPending, disablePendingReservations: params.disablePendingReservations, useHoldStockByTransactionNumber: params.useHoldStockByTransactionNumber, typeOf: factory.reservationType.ReservationPackage }, (typeof ((_a = params.object.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.object.broker } : undefined);
17
17
  return {
18
18
  project: { id: params.project.id, typeOf: factory.organizationType.Project },
19
19
  typeOf: factory.assetTransactionType.Reserve,
@@ -356,23 +356,8 @@ function optimizeReservationSuperEvent(params) {
356
356
  ? { headline: superEvent.headline }
357
357
  : undefined);
358
358
  }
359
- // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
360
- function createReservation(params) {
361
- var _a, _b, _c, _d, _e;
362
- // 適用メンバーシップ確認
363
- validateEligibleMembershipType({
364
- availableOffer: params.availableOffer,
365
- programMembershipUsed: params.programMembershipUsed
366
- });
367
- // 適用MovieTicketのidentifier指定を必須化(2022-06-02~)
368
- if (params.validateAppliesToMovieTicket) {
369
- validateAppliesToMovieTicket({
370
- availableOffer: params.availableOffer,
371
- appliesToMovieTicket: params.appliesToMovieTicket
372
- });
373
- }
374
- // priceを最適化
375
- const price4reservation = (0, price_1.createPrice)(params);
359
+ function createIssuedThrough(params) {
360
+ var _a;
376
361
  const eventOffers = params.reservationFor.offers;
377
362
  // offersは必ず存在するはず
378
363
  if (eventOffers === undefined) {
@@ -393,7 +378,67 @@ function createReservation(params) {
393
378
  const issuedThrough = Object.assign({ typeOf: factory.product.ProductType.EventService,
394
379
  // 興行IDを追加(2022-09-08~)
395
380
  id: eventOffers.itemOffered.id, availableChannel }, (typeof (serviceTypeOfIssuedThrough === null || serviceTypeOfIssuedThrough === void 0 ? void 0 : serviceTypeOfIssuedThrough.typeOf) === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined);
396
- return Object.assign(Object.assign(Object.assign(Object.assign({ project: params.project, typeOf: factory.reservationType.EventReservation, id: params.id, issuedThrough, additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber, reservationStatus: factory.reservationStatusType.ReservationPending, reservedTicket: params.reservedTicket,
381
+ return {
382
+ issuedThrough
383
+ };
384
+ }
385
+ else {
386
+ const issuedThrough = Object.assign({ typeOf: factory.product.ProductType.Transportation,
387
+ // 興行IDを追加(2022-09-08~)
388
+ id: eventOffers.itemOffered.id, availableChannel }, (typeof (serviceTypeOfIssuedThrough === null || serviceTypeOfIssuedThrough === void 0 ? void 0 : serviceTypeOfIssuedThrough.typeOf) === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined);
389
+ return {
390
+ issuedThrough
391
+ };
392
+ }
393
+ }
394
+ exports.createIssuedThrough = createIssuedThrough;
395
+ // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
396
+ function createReservation(params) {
397
+ var _a, _b;
398
+ // 適用メンバーシップ確認
399
+ validateEligibleMembershipType({
400
+ availableOffer: params.availableOffer,
401
+ programMembershipUsed: params.programMembershipUsed
402
+ });
403
+ // 適用MovieTicketのidentifier指定を必須化(2022-06-02~)
404
+ if (params.validateAppliesToMovieTicket) {
405
+ validateAppliesToMovieTicket({
406
+ availableOffer: params.availableOffer,
407
+ appliesToMovieTicket: params.appliesToMovieTicket
408
+ });
409
+ }
410
+ // priceを最適化
411
+ const price4reservation = (0, price_1.createPrice)(params);
412
+ // const eventOffers = <factory.event.screeningEvent.IOffer | undefined>params.reservationFor.offers;
413
+ // // offersは必ず存在するはず
414
+ // if (eventOffers === undefined) {
415
+ // throw new factory.errors.NotFound('reservationFor.offers');
416
+ // }
417
+ // const serviceTypeOfIssuedThrough: factory.reservation.eventReservation.IServiceTypeOfIssuedThrough | undefined
418
+ // = (typeof eventOffers.itemOffered.serviceType?.codeValue === 'string')
419
+ // ? {
420
+ // codeValue: eventOffers.itemOffered.serviceType.codeValue,
421
+ // inCodeSet: {
422
+ // typeOf: 'CategoryCodeSet',
423
+ // identifier: factory.categoryCode.CategorySetIdentifier.ServiceType
424
+ // },
425
+ // typeOf: 'CategoryCode'
426
+ // }
427
+ // : undefined;
428
+ // const availableChannel: factory.reservation.IServiceChannel = eventOffers.itemOffered.availableChannel;
429
+ if (params.reservationFor.typeOf === factory.eventType.ScreeningEvent) {
430
+ // const issuedThrough: factory.reservation.eventReservation.IIssuedThrough = {
431
+ // typeOf: factory.product.ProductType.EventService,
432
+ // // 興行IDを追加(2022-09-08~)
433
+ // id: eventOffers.itemOffered.id,
434
+ // availableChannel,
435
+ // // issuedThrough.serviceTypeを連携
436
+ // ...(typeof serviceTypeOfIssuedThrough?.typeOf === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined
437
+ // };
438
+ return Object.assign(Object.assign(Object.assign({ project: params.project, typeOf: factory.reservationType.EventReservation, id: params.id,
439
+ // reservationPackage保管に移行(2023-06-06~)
440
+ // issuedThrough,
441
+ additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber, reservationStatus: factory.reservationStatusType.ReservationPending, reservedTicket: params.reservedTicket,
397
442
  // 最適化(2022-12-19~)
398
443
  underName: {
399
444
  typeOf: params.agent.typeOf,
@@ -409,15 +454,23 @@ function createReservation(params) {
409
454
  };
410
455
  })
411
456
  }
412
- : undefined), (typeof ((_b = params.broker) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string') ? { broker: params.broker } : undefined), (typeof ((_c = params.programMembershipUsed) === null || _c === void 0 ? void 0 : _c.identifier) === 'string')
457
+ : undefined), (typeof ((_a = params.programMembershipUsed) === null || _a === void 0 ? void 0 : _a.identifier) === 'string')
413
458
  ? { programMembershipUsed: params.programMembershipUsed }
414
459
  : undefined);
415
460
  }
416
461
  else {
417
- const issuedThrough = Object.assign({ typeOf: factory.product.ProductType.Transportation,
418
- // 興行IDを追加(2022-09-08~)
419
- id: eventOffers.itemOffered.id, availableChannel }, (typeof (serviceTypeOfIssuedThrough === null || serviceTypeOfIssuedThrough === void 0 ? void 0 : serviceTypeOfIssuedThrough.typeOf) === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined);
420
- return Object.assign(Object.assign(Object.assign(Object.assign({ project: params.project, typeOf: factory.reservationType.BusReservation, id: params.id, issuedThrough, additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber, reservationStatus: factory.reservationStatusType.ReservationPending, reservedTicket: params.reservedTicket, underName: {
462
+ // const issuedThrough: factory.reservation.busReservation.IIssuedThrough = {
463
+ // typeOf: factory.product.ProductType.Transportation,
464
+ // // 興行IDを追加(2022-09-08~)
465
+ // id: eventOffers.itemOffered.id,
466
+ // availableChannel,
467
+ // // issuedThrough.serviceTypeを連携
468
+ // ...(typeof serviceTypeOfIssuedThrough?.typeOf === 'string') ? { serviceType: serviceTypeOfIssuedThrough } : undefined
469
+ // };
470
+ return Object.assign(Object.assign(Object.assign({ project: params.project, typeOf: factory.reservationType.BusReservation, id: params.id,
471
+ // reservationPackage保管に移行(2023-06-06~)
472
+ // issuedThrough,
473
+ additionalProperty: params.additionalProperty, bookingTime: params.reserveDate, modifiedTime: params.reserveDate, numSeats: 1, price: price4reservation, priceCurrency: factory.priceCurrency.JPY, reservationNumber: params.reservationNumber, reservationStatus: factory.reservationStatusType.ReservationPending, reservedTicket: params.reservedTicket, underName: {
421
474
  typeOf: params.agent.typeOf,
422
475
  name: params.agent.name
423
476
  }, checkedIn: false, attended: false }, (typeof params.additionalTicketText === 'string') ? { additionalTicketText: params.additionalTicketText } : undefined), (Array.isArray(params.subReservation))
@@ -431,7 +484,7 @@ function createReservation(params) {
431
484
  };
432
485
  })
433
486
  }
434
- : undefined), (typeof ((_d = params.broker) === null || _d === void 0 ? void 0 : _d.typeOf) === 'string') ? { broker: params.broker } : undefined), (typeof ((_e = params.programMembershipUsed) === null || _e === void 0 ? void 0 : _e.identifier) === 'string')
487
+ : undefined), (typeof ((_b = params.programMembershipUsed) === null || _b === void 0 ? void 0 : _b.identifier) === 'string')
435
488
  ? { programMembershipUsed: params.programMembershipUsed }
436
489
  : undefined);
437
490
  }
@@ -448,9 +501,10 @@ function createPotentialActions(params) {
448
501
  // 予約アクション属性作成
449
502
  const pendingReservations = (Array.isArray(transaction.object.subReservation)) ? transaction.object.subReservation : [];
450
503
  let reserveActionAttributes = [];
504
+ let reservationPackage;
505
+ let underName;
451
506
  if (pendingReservations.length > 0) {
452
507
  // ReservationPackageに対応(2022-12-22~)
453
- let underName;
454
508
  // purpose:Orderの指定があれば、underName,issuedByを調整(2022-05-23~)
455
509
  if (typeof ((_a = params.order) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') {
456
510
  const ordre2reservationUnderNameResult = ordre2reservationUnderName({ order: params.order });
@@ -467,10 +521,18 @@ function createPotentialActions(params) {
467
521
  underName
468
522
  }));
469
523
  });
470
- const reservationPackage = Object.assign({ reservationFor, reservationNumber: pendingReservations[0].reservationNumber, reservationStatus: pendingReservations[0].reservationStatus,
524
+ reservationPackage = {
525
+ reservationFor,
526
+ reservationNumber: transaction.object.reservationNumber,
527
+ reservationStatus: (typeof params.transaction.object.reservationStatus === 'string')
528
+ ? params.transaction.object.reservationStatus
529
+ : factory.reservationStatusType.ReservationPending,
471
530
  // 不要なので廃止(2023-01-19~)
472
531
  // subReservation: pendingReservations,
473
- typeOf: factory.reservationType.ReservationPackage }, (typeof (underName === null || underName === void 0 ? void 0 : underName.typeOf) === 'string') ? { underName } : undefined);
532
+ typeOf: factory.reservationType.ReservationPackage
533
+ // 廃止(2023-05-31~)→予約取引から取得に変更
534
+ // ...(typeof underName?.typeOf === 'string') ? { underName } : undefined
535
+ };
474
536
  reserveActionAttributes = [{
475
537
  project: transaction.project,
476
538
  typeOf: factory.actionType.ReserveAction,
@@ -484,7 +546,11 @@ function createPotentialActions(params) {
484
546
  }];
485
547
  }
486
548
  return {
487
- reserve: reserveActionAttributes
549
+ potentialActions: {
550
+ reserve: reserveActionAttributes
551
+ },
552
+ reservationPackage,
553
+ underName
488
554
  };
489
555
  }
490
556
  exports.createPotentialActions = createPotentialActions;
@@ -503,15 +569,11 @@ function createReservationUnderName(params) {
503
569
  */
504
570
  function ordre2reservationUnderName(params) {
505
571
  return {
506
- // issuedBy: {
507
- // typeOf: params.order.seller.typeOf,
508
- // name: params.order.seller.name
509
- // },
510
572
  underName: createReservationUnderName({ order: params.order })
511
573
  };
512
574
  }
513
575
  function createMoneyTransferActions(params) {
514
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
576
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
515
577
  const pointAward = (_b = (_a = params.acceptedOffer) === null || _a === void 0 ? void 0 : _a.itemOffered) === null || _b === void 0 ? void 0 : _b.pointAward;
516
578
  const moneyTransfer = [];
517
579
  // ポイント特典があれば適用
@@ -524,38 +586,38 @@ function createMoneyTransferActions(params) {
524
586
  typeOf: (typeof ((_f = params.reservation.reservedTicket.issuedBy) === null || _f === void 0 ? void 0 : _f.typeOf) === 'string')
525
587
  ? params.reservation.reservedTicket.issuedBy.typeOf
526
588
  : params.transaction.typeOf,
527
- name: (typeof ((_h = (_g = params.reservation.reservedTicket) === null || _g === void 0 ? void 0 : _g.issuedBy) === null || _h === void 0 ? void 0 : _h.name) === 'string')
589
+ name: (typeof ((_g = params.reservation.reservedTicket.issuedBy) === null || _g === void 0 ? void 0 : _g.name) === 'string')
528
590
  ? params.reservation.reservedTicket.issuedBy.name
529
591
  : params.transaction.id
530
592
  };
531
593
  const toLocation = {
532
594
  identifier: pointAwardToLocationIdentifier,
533
595
  typeOf: factory.permit.PermitType.Permit,
534
- issuedThrough: { id: String((_k = (_j = pointAward.toLocation) === null || _j === void 0 ? void 0 : _j.issuedThrough) === null || _k === void 0 ? void 0 : _k.id) }
596
+ issuedThrough: { id: String((_j = (_h = pointAward.toLocation) === null || _h === void 0 ? void 0 : _h.issuedThrough) === null || _j === void 0 ? void 0 : _j.id) }
535
597
  };
536
598
  const recipient = {
537
- typeOf: (typeof ((_l = params.underName) === null || _l === void 0 ? void 0 : _l.typeOf) === 'string')
538
- ? (_m = params.underName) === null || _m === void 0 ? void 0 : _m.typeOf
599
+ typeOf: (typeof ((_k = params.underName) === null || _k === void 0 ? void 0 : _k.typeOf) === 'string')
600
+ ? (_l = params.underName) === null || _l === void 0 ? void 0 : _l.typeOf
539
601
  : factory.personType.Person,
540
- id: (typeof ((_o = params.underName) === null || _o === void 0 ? void 0 : _o.id) === 'string')
541
- ? (_p = params.underName) === null || _p === void 0 ? void 0 : _p.id
602
+ id: (typeof ((_m = params.underName) === null || _m === void 0 ? void 0 : _m.id) === 'string')
603
+ ? (_o = params.underName) === null || _o === void 0 ? void 0 : _o.id
542
604
  : '',
543
- name: String((_q = params.underName) === null || _q === void 0 ? void 0 : _q.name)
605
+ name: String((_p = params.underName) === null || _p === void 0 ? void 0 : _p.name)
544
606
  };
545
607
  moneyTransfer.push(Object.assign(Object.assign({ project: params.transaction.project, typeOf: factory.actionType.MoneyTransfer, agent: params.transaction.project, recipient, object: {
546
608
  typeOf: factory.account.transactionType.Deposit
547
- }, purpose: Object.assign({ typeOf: params.transaction.typeOf, id: params.transaction.id }, (typeof ((_r = pointAward.purpose) === null || _r === void 0 ? void 0 : _r.identifier) === 'string') ? { identifier: pointAward.purpose.identifier } : undefined), amount: {
609
+ }, purpose: Object.assign({ typeOf: params.transaction.typeOf, id: params.transaction.id }, (typeof ((_q = pointAward.purpose) === null || _q === void 0 ? void 0 : _q.identifier) === 'string') ? { identifier: pointAward.purpose.identifier } : undefined), amount: {
548
610
  typeOf: 'MonetaryAmount',
549
- value: (_s = pointAward.amount) === null || _s === void 0 ? void 0 : _s.value,
550
- currency: (_t = pointAward.amount) === null || _t === void 0 ? void 0 : _t.currency
611
+ value: (_r = pointAward.amount) === null || _r === void 0 ? void 0 : _r.value,
612
+ currency: (_s = pointAward.amount) === null || _s === void 0 ? void 0 : _s.currency
551
613
  }, fromLocation: fromLocation, toLocation: toLocation }, (typeof pointAward.description === 'string') ? { description: pointAward.description } : undefined), (pointAward.recipient !== undefined) ? { recipient: pointAward.recipient } : undefined));
552
614
  }
553
615
  return moneyTransfer;
554
616
  }
555
- function createPendingReservationAction(params) {
617
+ function createCancelPendingReservationAction(params) {
556
618
  const transaction = params.transaction;
557
619
  const pendingReservations = (Array.isArray(transaction.object.subReservation)) ? transaction.object.subReservation : [];
558
- let cancelActionAttributes = [];
620
+ let cancelActionAttributes;
559
621
  if (pendingReservations.length > 0) {
560
622
  const reservationFor = transaction.object.reservationFor;
561
623
  if (reservationFor === undefined) {
@@ -566,17 +628,19 @@ function createPendingReservationAction(params) {
566
628
  typeOf: factory.reservationType.ReservationPackage,
567
629
  reservationNumber: transaction.transactionNumber,
568
630
  reservationFor: { typeOf: reservationFor.typeOf, id: String(reservationFor.id) },
569
- reservationStatus: pendingReservations[0].reservationStatus
631
+ reservationStatus: (typeof params.transaction.object.reservationStatus === 'string')
632
+ ? params.transaction.object.reservationStatus
633
+ : factory.reservationStatusType.ReservationPending
634
+ };
635
+ cancelActionAttributes = {
636
+ project: transaction.project,
637
+ typeOf: factory.actionType.CancelAction,
638
+ purpose: { typeOf: transaction.typeOf, id: transaction.id },
639
+ agent: transaction.project,
640
+ object: reservationPackage,
641
+ potentialActions: {}
570
642
  };
571
- cancelActionAttributes = [{
572
- project: transaction.project,
573
- typeOf: factory.actionType.CancelAction,
574
- purpose: { typeOf: transaction.typeOf, id: transaction.id },
575
- agent: transaction.project,
576
- object: reservationPackage,
577
- potentialActions: {}
578
- }];
579
643
  }
580
644
  return cancelActionAttributes;
581
645
  }
582
- exports.createPendingReservationAction = createPendingReservationAction;
646
+ exports.createCancelPendingReservationAction = createCancelPendingReservationAction;