@chevre/domain 23.2.0-alpha.61 → 23.2.0-alpha.63

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 (481) hide show
  1. package/lib/chevre/credentials/customSearch.js +2 -0
  2. package/lib/chevre/credentials/lineNotify.js +4 -0
  3. package/lib/chevre/credentials/sendGrid.js +2 -0
  4. package/lib/chevre/credentials.js +15 -30
  5. package/lib/chevre/emailMessageBuilder.js +225 -250
  6. package/lib/chevre/errorHandler.js +38 -59
  7. package/lib/chevre/eventEmitter/assetTransaction.js +0 -1
  8. package/lib/chevre/eventEmitter/task.js +0 -1
  9. package/lib/chevre/eventEmitter/transaction.js +0 -1
  10. package/lib/chevre/factory/event.js +69 -42
  11. package/lib/chevre/factory/transactionNumber.js +2 -2
  12. package/lib/chevre/index.js +15 -30
  13. package/lib/chevre/repo/acceptedOffer.js +177 -197
  14. package/lib/chevre/repo/acceptedPaymentMethod.js +131 -144
  15. package/lib/chevre/repo/account.js +194 -238
  16. package/lib/chevre/repo/accountTitle.js +9 -21
  17. package/lib/chevre/repo/accountTransaction.js +186 -193
  18. package/lib/chevre/repo/accountingReport.js +88 -107
  19. package/lib/chevre/repo/action.js +849 -883
  20. package/lib/chevre/repo/additionalProperty.js +64 -92
  21. package/lib/chevre/repo/advanceBookingRequirement.js +69 -91
  22. package/lib/chevre/repo/aggregateOffer.js +392 -430
  23. package/lib/chevre/repo/aggregateOrder.js +50 -62
  24. package/lib/chevre/repo/aggregateReservation.js +76 -89
  25. package/lib/chevre/repo/aggregation.js +42 -63
  26. package/lib/chevre/repo/assetTransaction.js +692 -729
  27. package/lib/chevre/repo/authorization.js +115 -134
  28. package/lib/chevre/repo/categoryCode.js +114 -147
  29. package/lib/chevre/repo/comment.js +73 -82
  30. package/lib/chevre/repo/concurrentLock.js +17 -29
  31. package/lib/chevre/repo/confirmationNumber.js +19 -35
  32. package/lib/chevre/repo/creativeWork.js +152 -180
  33. package/lib/chevre/repo/credentials.js +39 -51
  34. package/lib/chevre/repo/customer.js +64 -88
  35. package/lib/chevre/repo/customerType.js +52 -62
  36. package/lib/chevre/repo/emailMessage.js +51 -80
  37. package/lib/chevre/repo/event.js +640 -684
  38. package/lib/chevre/repo/eventOffer.js +122 -125
  39. package/lib/chevre/repo/eventSellerMakesOffer.js +64 -76
  40. package/lib/chevre/repo/eventSeries.js +207 -244
  41. package/lib/chevre/repo/identity.js +94 -107
  42. package/lib/chevre/repo/identityProvider.js +72 -96
  43. package/lib/chevre/repo/issuer.js +102 -135
  44. package/lib/chevre/repo/member.js +238 -259
  45. package/lib/chevre/repo/memberProgram.js +157 -177
  46. package/lib/chevre/repo/merchantReturnPolicy.js +61 -94
  47. package/lib/chevre/repo/message.js +122 -135
  48. package/lib/chevre/repo/mongoose/onIndexCreated.js +0 -1
  49. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
  50. package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
  51. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
  52. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  53. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
  54. package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
  55. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
  56. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
  57. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
  58. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
  59. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
  60. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -1
  61. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
  62. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
  63. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  64. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
  65. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
  66. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
  67. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
  68. package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
  69. package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
  70. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
  71. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +1 -1
  72. package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
  73. package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
  74. package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
  75. package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
  76. package/lib/chevre/repo/mongoose/schemas/member.js +1 -1
  77. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
  78. package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
  79. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
  80. package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
  81. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +1 -1
  82. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +1 -1
  83. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
  84. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  85. package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
  87. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
  88. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
  89. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  90. package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
  91. package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
  92. package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
  93. package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
  94. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  95. package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
  96. package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
  97. package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
  98. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
  99. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
  101. package/lib/chevre/repo/mongoose/schemas/setting.js +1 -1
  102. package/lib/chevre/repo/mongoose/schemas/task.js +1 -2
  103. package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
  104. package/lib/chevre/repo/mongoose/schemas/transaction.js +1 -1
  105. package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
  106. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
  107. package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
  108. package/lib/chevre/repo/movieTicketType.js +67 -94
  109. package/lib/chevre/repo/note.js +143 -147
  110. package/lib/chevre/repo/noteAboutOrder.js +112 -113
  111. package/lib/chevre/repo/offer/unitPriceInCatalog.js +330 -314
  112. package/lib/chevre/repo/offerCatalog.js +302 -334
  113. package/lib/chevre/repo/offerCatalogItem.js +289 -317
  114. package/lib/chevre/repo/offerItemCondition.js +60 -85
  115. package/lib/chevre/repo/order.js +559 -607
  116. package/lib/chevre/repo/orderInTransaction.js +113 -136
  117. package/lib/chevre/repo/orderNumber.js +95 -112
  118. package/lib/chevre/repo/ownershipInfo.js +212 -240
  119. package/lib/chevre/repo/passport.js +93 -102
  120. package/lib/chevre/repo/paymentMethod/creditCard.js +151 -169
  121. package/lib/chevre/repo/paymentService.js +179 -200
  122. package/lib/chevre/repo/paymentServiceChannel.js +76 -100
  123. package/lib/chevre/repo/paymentServiceProvider.js +186 -201
  124. package/lib/chevre/repo/pendingReservation.js +272 -305
  125. package/lib/chevre/repo/permit.js +47 -42
  126. package/lib/chevre/repo/person.js +217 -256
  127. package/lib/chevre/repo/place/busStop.js +76 -106
  128. package/lib/chevre/repo/place/entranceGate.js +123 -128
  129. package/lib/chevre/repo/place/hasPOS.js +108 -120
  130. package/lib/chevre/repo/place/movieTheater.js +185 -220
  131. package/lib/chevre/repo/place/screeningRoom.js +339 -325
  132. package/lib/chevre/repo/place/seat.js +538 -481
  133. package/lib/chevre/repo/place/section.js +328 -296
  134. package/lib/chevre/repo/potentialAction.js +67 -87
  135. package/lib/chevre/repo/priceSpecification.js +102 -146
  136. package/lib/chevre/repo/product.js +203 -239
  137. package/lib/chevre/repo/productHasOfferCatalog.js +39 -50
  138. package/lib/chevre/repo/productModel.js +94 -127
  139. package/lib/chevre/repo/productOffer.js +119 -118
  140. package/lib/chevre/repo/project.js +123 -141
  141. package/lib/chevre/repo/projectMakesOffer.js +96 -108
  142. package/lib/chevre/repo/rateLimit/offer.js +43 -57
  143. package/lib/chevre/repo/reservation.js +369 -398
  144. package/lib/chevre/repo/reserveInterface.js +31 -42
  145. package/lib/chevre/repo/role.js +93 -112
  146. package/lib/chevre/repo/schedule.js +25 -36
  147. package/lib/chevre/repo/seller.js +114 -147
  148. package/lib/chevre/repo/sellerMakesOffer.js +95 -110
  149. package/lib/chevre/repo/sellerPaymentAccepted.js +92 -109
  150. package/lib/chevre/repo/sellerReturnPolicy.js +74 -97
  151. package/lib/chevre/repo/service/availableHour.js +27 -38
  152. package/lib/chevre/repo/serviceOutput.js +54 -67
  153. package/lib/chevre/repo/serviceOutputIdentifier.js +46 -58
  154. package/lib/chevre/repo/setting/jwt.js +40 -50
  155. package/lib/chevre/repo/setting.js +48 -48
  156. package/lib/chevre/repo/stockHolder.js +179 -199
  157. package/lib/chevre/repo/task.js +610 -619
  158. package/lib/chevre/repo/telemetry.js +1 -0
  159. package/lib/chevre/repo/ticket.js +52 -65
  160. package/lib/chevre/repo/transaction.js +754 -815
  161. package/lib/chevre/repo/transactionNumber.js +67 -80
  162. package/lib/chevre/repo/transactionNumberCounter.js +68 -79
  163. package/lib/chevre/repo/transactionProcess.js +36 -47
  164. package/lib/chevre/repo/trip.js +144 -164
  165. package/lib/chevre/repo/webSite.js +90 -106
  166. package/lib/chevre/repository.js +455 -647
  167. package/lib/chevre/service/account.js +9 -21
  168. package/lib/chevre/service/accountTransaction/deposit.js +16 -17
  169. package/lib/chevre/service/accountTransaction/transfer.js +18 -22
  170. package/lib/chevre/service/accountTransaction/withdraw.js +16 -17
  171. package/lib/chevre/service/accountTransaction.js +4 -16
  172. package/lib/chevre/service/aggregation/event/aggregateOffers.js +63 -60
  173. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +52 -55
  174. package/lib/chevre/service/aggregation/event/findEventOffers.js +7 -17
  175. package/lib/chevre/service/aggregation/event/importFromCOA.js +4 -14
  176. package/lib/chevre/service/aggregation/project.js +10 -19
  177. package/lib/chevre/service/aggregation/system.js +182 -99
  178. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +31 -17
  179. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +17 -24
  180. package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +17 -15
  181. package/lib/chevre/service/assetTransaction/cancelReservation.js +7 -18
  182. package/lib/chevre/service/assetTransaction/cancelReservationCOA/factory.js +11 -4
  183. package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +4 -13
  184. package/lib/chevre/service/assetTransaction/fixInformAction.js +6 -16
  185. package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +13 -25
  186. package/lib/chevre/service/assetTransaction/moneyTransfer.js +101 -90
  187. package/lib/chevre/service/assetTransaction/pay/cancel.js +3 -12
  188. package/lib/chevre/service/assetTransaction/pay/check.js +4 -14
  189. package/lib/chevre/service/assetTransaction/pay/confirm.js +18 -21
  190. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +4 -14
  191. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +33 -34
  192. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +7 -17
  193. package/lib/chevre/service/assetTransaction/pay/start/account/validation.js +6 -16
  194. package/lib/chevre/service/assetTransaction/pay/start/factory.js +64 -37
  195. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateAcceptedPaymentMethodIfNeeded.js +7 -19
  196. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +6 -16
  197. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +7 -17
  198. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +9 -15
  199. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +3 -12
  200. package/lib/chevre/service/assetTransaction/pay/start.js +29 -35
  201. package/lib/chevre/service/assetTransaction/refund/factory.js +36 -16
  202. package/lib/chevre/service/assetTransaction/refund/potentialActions.js +12 -21
  203. package/lib/chevre/service/assetTransaction/refund.js +35 -41
  204. package/lib/chevre/service/assetTransaction/registerService/factory.js +65 -28
  205. package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +50 -43
  206. package/lib/chevre/service/assetTransaction/registerService.js +45 -56
  207. package/lib/chevre/service/assetTransaction/reserve/cancel.js +5 -14
  208. package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -4
  209. package/lib/chevre/service/assetTransaction/reserve/confirm.js +21 -26
  210. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +3 -13
  211. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +99 -83
  212. package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +17 -12
  213. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +108 -72
  214. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +69 -30
  215. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +29 -20
  216. package/lib/chevre/service/assetTransaction/reserve/start.js +91 -108
  217. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +5 -15
  218. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +41 -54
  219. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +42 -56
  220. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +7 -19
  221. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +15 -27
  222. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +24 -24
  223. package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +12 -4
  224. package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
  225. package/lib/chevre/service/assetTransaction.js +17 -21
  226. package/lib/chevre/service/delivery/factory.js +3 -4
  227. package/lib/chevre/service/delivery/product/factory.js +16 -7
  228. package/lib/chevre/service/delivery/reservation/factory.js +14 -3
  229. package/lib/chevre/service/delivery.js +48 -52
  230. package/lib/chevre/service/event/processUpdateMovieTheater.js +21 -26
  231. package/lib/chevre/service/event/saveScreeningEventSeries.js +56 -41
  232. package/lib/chevre/service/event/saveScreeningEvents.js +14 -29
  233. package/lib/chevre/service/event.js +34 -30
  234. package/lib/chevre/service/iam.js +8 -17
  235. package/lib/chevre/service/moneyTransfer.js +128 -112
  236. package/lib/chevre/service/notification/factory.js +11 -10
  237. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +11 -15
  238. package/lib/chevre/service/notification/notifyByEmail.js +7 -19
  239. package/lib/chevre/service/notification/sendEmailMessage.js +23 -26
  240. package/lib/chevre/service/notification/triggerWebhook.js +58 -56
  241. package/lib/chevre/service/offer/any.js +6 -15
  242. package/lib/chevre/service/offer/event/authorize/factory.js +139 -63
  243. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +8 -19
  244. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +43 -27
  245. package/lib/chevre/service/offer/event/authorize.js +114 -71
  246. package/lib/chevre/service/offer/event/checkAvailability.js +5 -15
  247. package/lib/chevre/service/offer/event/importFromCOA/factory.js +9 -3
  248. package/lib/chevre/service/offer/event/importFromCOA.js +13 -19
  249. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +38 -39
  250. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +26 -41
  251. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +11 -22
  252. package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +13 -26
  253. package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +15 -23
  254. package/lib/chevre/service/offer/event/searchOffersByIds.js +24 -39
  255. package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +5 -14
  256. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +4 -13
  257. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
  258. package/lib/chevre/service/offer/event/voidTransaction.js +35 -41
  259. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +14 -20
  260. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +52 -42
  261. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +5 -1
  262. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +34 -37
  263. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +45 -26
  264. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +67 -62
  265. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +16 -27
  266. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +8 -18
  267. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +42 -43
  268. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +22 -25
  269. package/lib/chevre/service/offer/factory.js +18 -8
  270. package/lib/chevre/service/offer/moneyTransfer/authorize.js +31 -36
  271. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +9 -18
  272. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +10 -19
  273. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +14 -24
  274. package/lib/chevre/service/offer/onEventChanged.js +69 -65
  275. package/lib/chevre/service/offer/product/factory.js +54 -32
  276. package/lib/chevre/service/offer/product/searchProductOffers.js +30 -24
  277. package/lib/chevre/service/offer/product.js +106 -82
  278. package/lib/chevre/service/offer.js +48 -45
  279. package/lib/chevre/service/order/confirmPayTransaction.js +28 -27
  280. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +54 -41
  281. package/lib/chevre/service/order/deleteOrder.js +28 -36
  282. package/lib/chevre/service/order/findPlaceOrderTransaction.js +3 -12
  283. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +64 -70
  284. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +1 -2
  285. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +3 -12
  286. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +11 -6
  287. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +5 -14
  288. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +22 -9
  289. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +5 -14
  290. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +23 -26
  291. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +13 -19
  292. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +5 -14
  293. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +24 -14
  294. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +23 -32
  295. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +8 -18
  296. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +10 -9
  297. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +23 -28
  298. package/lib/chevre/service/order/onOrderUpdated/factory.js +3 -5
  299. package/lib/chevre/service/order/onOrderUpdated.js +13 -15
  300. package/lib/chevre/service/order/payOrder.js +3 -12
  301. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +9 -20
  302. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +31 -15
  303. package/lib/chevre/service/order/placeOrder/factory.js +35 -22
  304. package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +3 -12
  305. package/lib/chevre/service/order/placeOrder.js +12 -23
  306. package/lib/chevre/service/order/placeOrderWithoutTransaction.js +10 -18
  307. package/lib/chevre/service/order/returnOrder.js +27 -30
  308. package/lib/chevre/service/order/sendOrder.js +37 -37
  309. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +19 -25
  310. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +24 -39
  311. package/lib/chevre/service/payment/any/factory.js +106 -50
  312. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +4 -13
  313. package/lib/chevre/service/payment/any/onPayActionCompleted.js +13 -18
  314. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +34 -37
  315. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +18 -24
  316. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +16 -16
  317. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +15 -21
  318. package/lib/chevre/service/payment/any/person2username.js +32 -45
  319. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +8 -18
  320. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +5 -17
  321. package/lib/chevre/service/payment/any.js +181 -142
  322. package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +2 -2
  323. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +44 -25
  324. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +6 -15
  325. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +5 -1
  326. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +10 -2
  327. package/lib/chevre/service/payment/creditCard/authorize.js +20 -22
  328. package/lib/chevre/service/payment/creditCard/factory.js +22 -4
  329. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +8 -18
  330. package/lib/chevre/service/payment/creditCard/payCreditCard.js +31 -36
  331. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +40 -51
  332. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +33 -45
  333. package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -26
  334. package/lib/chevre/service/payment/faceToFace.js +14 -23
  335. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +44 -25
  336. package/lib/chevre/service/payment/factory.js +50 -24
  337. package/lib/chevre/service/payment/movieTicket/authorize.js +35 -30
  338. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +22 -25
  339. package/lib/chevre/service/payment/movieTicket/factory.js +33 -10
  340. package/lib/chevre/service/payment/movieTicket/getCredentials.js +5 -15
  341. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +29 -40
  342. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +8 -18
  343. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +60 -60
  344. package/lib/chevre/service/payment/movieTicket/validation.js +41 -37
  345. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +8 -18
  346. package/lib/chevre/service/payment/paymentCard.js +87 -104
  347. package/lib/chevre/service/permit.js +36 -35
  348. package/lib/chevre/service/product.js +23 -28
  349. package/lib/chevre/service/project.js +22 -31
  350. package/lib/chevre/service/report/ownershipInfo.js +3 -4
  351. package/lib/chevre/service/report/telemetry.js +51 -70
  352. package/lib/chevre/service/reserve/cancelReservation.js +92 -93
  353. package/lib/chevre/service/reserve/checkInReservation.js +24 -29
  354. package/lib/chevre/service/reserve/confirmReservation.js +33 -39
  355. package/lib/chevre/service/reserve/factory.js +42 -20
  356. package/lib/chevre/service/reserve/findByCode.js +13 -18
  357. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +18 -24
  358. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +17 -25
  359. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +38 -30
  360. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +45 -37
  361. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +37 -33
  362. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +17 -23
  363. package/lib/chevre/service/reserve/searchByOrder.js +10 -20
  364. package/lib/chevre/service/reserve/useReservation.js +47 -34
  365. package/lib/chevre/service/reserve/verifyToken4reservation.js +7 -14
  366. package/lib/chevre/service/reserveCOA/cancelReservation.js +7 -17
  367. package/lib/chevre/service/reserveCOA/factory.js +5 -1
  368. package/lib/chevre/service/task/acceptCOAOffer.js +20 -25
  369. package/lib/chevre/service/task/aggregateOffers.js +3 -12
  370. package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
  371. package/lib/chevre/service/task/aggregateScreeningEvent.js +3 -12
  372. package/lib/chevre/service/task/authorizePayment.js +9 -15
  373. package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
  374. package/lib/chevre/service/task/cancelPendingReservation.js +10 -20
  375. package/lib/chevre/service/task/cancelReservation.js +3 -12
  376. package/lib/chevre/service/task/checkMovieTicket.js +16 -19
  377. package/lib/chevre/service/task/checkResource.js +7 -16
  378. package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
  379. package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
  380. package/lib/chevre/service/task/confirmRegisterService.js +3 -12
  381. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +24 -31
  382. package/lib/chevre/service/task/confirmReserveTransaction.js +48 -45
  383. package/lib/chevre/service/task/createAccountingReport.js +14 -20
  384. package/lib/chevre/service/task/deletePerson.js +48 -60
  385. package/lib/chevre/service/task/deleteTransaction.js +3 -12
  386. package/lib/chevre/service/task/givePointAward.js +3 -12
  387. package/lib/chevre/service/task/handleNotification.js +4 -14
  388. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +6 -16
  389. package/lib/chevre/service/task/importEventsFromCOA.js +6 -16
  390. package/lib/chevre/service/task/importOffersFromCOA.js +8 -18
  391. package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
  392. package/lib/chevre/service/task/moneyTransfer.js +3 -12
  393. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
  394. package/lib/chevre/service/task/onAuthorizationCreated.js +11 -19
  395. package/lib/chevre/service/task/onEventChanged.js +3 -12
  396. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
  397. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +7 -16
  398. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +7 -16
  399. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +8 -17
  400. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +10 -19
  401. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +8 -17
  402. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +6 -15
  403. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +14 -24
  404. package/lib/chevre/service/task/onResourceDeleted.js +17 -27
  405. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +9 -21
  406. package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
  407. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +11 -23
  408. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +13 -25
  409. package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +9 -15
  410. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +21 -27
  411. package/lib/chevre/service/task/onResourceUpdated.js +113 -158
  412. package/lib/chevre/service/task/pay.js +8 -16
  413. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +4 -14
  414. package/lib/chevre/service/task/payment/payByTask.js +49 -38
  415. package/lib/chevre/service/task/payment/refundByTask.js +7 -17
  416. package/lib/chevre/service/task/payment/voidPaymentByTask.js +6 -15
  417. package/lib/chevre/service/task/placeOrder.js +6 -12
  418. package/lib/chevre/service/task/publishPaymentUrl.js +9 -14
  419. package/lib/chevre/service/task/refund.js +8 -16
  420. package/lib/chevre/service/task/registerService.js +3 -12
  421. package/lib/chevre/service/task/reserve.js +3 -12
  422. package/lib/chevre/service/task/returnMoneyTransfer.js +3 -12
  423. package/lib/chevre/service/task/returnOrder.js +6 -12
  424. package/lib/chevre/service/task/returnPayTransaction.js +54 -49
  425. package/lib/chevre/service/task/returnPointAward.js +3 -12
  426. package/lib/chevre/service/task/returnReserveTransaction.js +29 -30
  427. package/lib/chevre/service/task/sendEmailMessage.js +6 -13
  428. package/lib/chevre/service/task/sendOrder.js +12 -15
  429. package/lib/chevre/service/task/syncResourcesFromCOA.js +39 -45
  430. package/lib/chevre/service/task/triggerWebhook.js +6 -12
  431. package/lib/chevre/service/task/useReservation.js +11 -14
  432. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
  433. package/lib/chevre/service/task/voidPayTransaction.js +7 -12
  434. package/lib/chevre/service/task/voidPayment.js +3 -12
  435. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
  436. package/lib/chevre/service/task/voidReserveTransaction.js +10 -16
  437. package/lib/chevre/service/task.js +16 -26
  438. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +9 -20
  439. package/lib/chevre/service/taskHandler/onOperationFailed.js +20 -17
  440. package/lib/chevre/service/taskHandler.js +19 -22
  441. package/lib/chevre/service/transaction/deleteTransaction.js +104 -88
  442. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +15 -9
  443. package/lib/chevre/service/transaction/moneyTransfer/factory.js +13 -4
  444. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +12 -24
  445. package/lib/chevre/service/transaction/moneyTransfer.js +119 -98
  446. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +49 -51
  447. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
  448. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +4 -14
  449. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +3 -4
  450. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +3 -6
  451. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +2 -3
  452. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +30 -47
  453. package/lib/chevre/service/transaction/placeOrder/confirm.js +75 -59
  454. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +31 -15
  455. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +6 -15
  456. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +6 -15
  457. package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +7 -16
  458. package/lib/chevre/service/transaction/placeOrder/start/factory.js +27 -7
  459. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +53 -60
  460. package/lib/chevre/service/transaction/placeOrder/start.js +14 -18
  461. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +13 -7
  462. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +176 -190
  463. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +75 -89
  464. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +40 -48
  465. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +52 -56
  466. package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +100 -104
  467. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +60 -80
  468. package/lib/chevre/service/transaction/returnOrder/preStart.js +42 -47
  469. package/lib/chevre/service/transaction/returnOrder.js +32 -37
  470. package/lib/chevre/service/transaction.js +75 -46
  471. package/lib/chevre/service/validation/validateEvent.js +2 -11
  472. package/lib/chevre/service/validation/validateOrder.js +7 -18
  473. package/lib/chevre/service.js +85 -131
  474. package/lib/chevre/settings/aggregation.js +4 -0
  475. package/lib/chevre/settings.js +7 -1
  476. package/lib/index.js +0 -1
  477. package/package.json +6 -11
  478. package/example/src/chevre/addEventBySchedule.ts +0 -46
  479. package/example/src/idaas/auth0/adminApplications.ts +0 -183
  480. package/example/src/idaas/auth0/getToken.ts +0 -55
  481. package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +0 -84
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.confirm = confirm;
13
4
  const factory = require("../../../factory");
@@ -17,20 +8,20 @@ const factory_1 = require("./confirm/factory");
17
8
  * 取引確定
18
9
  */
19
10
  function confirm(params) {
20
- return (repos
11
+ return async (repos
21
12
  // settings: Settings
22
- ) => __awaiter(this, void 0, void 0, function* () {
13
+ ) => {
23
14
  let transaction;
24
15
  // 取引存在確認
25
16
  if (typeof params.id === 'string') {
26
- transaction = yield repos.assetTransaction.findById({
17
+ transaction = await repos.assetTransaction.findById({
27
18
  typeOf: factory.assetTransactionType.Reserve,
28
19
  id: params.id
29
20
  }, ['project', 'transactionNumber'] // projection(2024-07-01~)
30
21
  );
31
22
  }
32
23
  else if (typeof params.transactionNumber === 'string') {
33
- transaction = yield repos.assetTransaction.findByTransactionNumber({
24
+ transaction = await repos.assetTransaction.findByTransactionNumber({
34
25
  typeOf: factory.assetTransactionType.Reserve,
35
26
  transactionNumber: params.transactionNumber
36
27
  }, ['project', 'transactionNumber'] // projection(2024-07-01~)
@@ -39,7 +30,7 @@ function confirm(params) {
39
30
  else {
40
31
  throw new factory.errors.ArgumentNull('Transaction ID or Transaction Number');
41
32
  }
42
- const order = yield fixOrderAsPurpose(params, transaction)(repos);
33
+ const order = await fixOrderAsPurpose(params, transaction)(repos);
43
34
  const { potentialActions, underName } = (0, factory_1.createPotentialActions)({
44
35
  // ...params,
45
36
  // transaction,
@@ -47,34 +38,38 @@ function confirm(params) {
47
38
  });
48
39
  // 取引確定
49
40
  const result = {};
50
- yield repos.assetTransaction.confirm(Object.assign({ typeOf: factory.assetTransactionType.Reserve, id: transaction.id, result: result,
41
+ await repos.assetTransaction.confirm({
42
+ typeOf: factory.assetTransactionType.Reserve,
43
+ id: transaction.id,
44
+ result: result,
51
45
  // potentialActions: (USE_ASSET_TRANSACTION_SYNC_PROCESSING)
52
46
  // ? { reserve: [] }
53
47
  // : potentialActions, // discontinue(2024-07-01~)
54
- potentialActions }, (typeof (underName === null || underName === void 0 ? void 0 : underName.typeOf) === 'string')
55
- ? { object: { underName } }
56
- : undefined));
48
+ potentialActions,
49
+ ...(typeof underName?.typeOf === 'string')
50
+ ? { object: { underName } }
51
+ : undefined
52
+ });
57
53
  // sync対応(2023-01-13~)
58
- yield (0, confirmReservation_1.confirmReservation)({
54
+ await (0, confirmReservation_1.confirmReservation)({
59
55
  // optimize(2024-07-01~)
60
56
  // actionAttributesList: potentialActions.reserve,
61
57
  potentialReserveAction: { object: { reservationNumber: transaction.transactionNumber } },
62
58
  useOnReservationConfirmed: true,
63
59
  byTask: true
64
60
  })(repos);
65
- });
61
+ };
66
62
  }
67
63
  function fixOrderAsPurpose(params, transaction) {
68
- return (repos) => __awaiter(this, void 0, void 0, function* () {
69
- var _a, _b, _c, _d, _e, _f;
64
+ return async (repos) => {
70
65
  let order;
71
- const payPurposeConfirmationNumber = (_c = (_b = (_a = params.potentialActions) === null || _a === void 0 ? void 0 : _a.reserve) === null || _b === void 0 ? void 0 : _b.purpose) === null || _c === void 0 ? void 0 : _c.confirmationNumber;
72
- const payPurposeOrderNumber = (_f = (_e = (_d = params.potentialActions) === null || _d === void 0 ? void 0 : _d.reserve) === null || _e === void 0 ? void 0 : _e.purpose) === null || _f === void 0 ? void 0 : _f.orderNumber;
66
+ const payPurposeConfirmationNumber = params.potentialActions?.reserve?.purpose?.confirmationNumber;
67
+ const payPurposeOrderNumber = params.potentialActions?.reserve?.purpose?.orderNumber;
73
68
  if (typeof payPurposeConfirmationNumber === 'string'
74
69
  && payPurposeConfirmationNumber.length > 0
75
70
  && typeof payPurposeOrderNumber === 'string'
76
71
  && payPurposeOrderNumber.length > 0) {
77
- const orders = yield repos.order.projectFields({
72
+ const orders = await repos.order.projectFields({
78
73
  limit: 1,
79
74
  page: 1,
80
75
  project: { id: { $eq: transaction.project.id } },
@@ -87,5 +82,5 @@ function fixOrderAsPurpose(params, transaction) {
87
82
  }
88
83
  }
89
84
  return order;
90
- });
85
+ };
91
86
  }
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.exportTasksById = exportTasksById;
13
4
  const factory = require("../../../factory");
@@ -15,10 +6,9 @@ const factory = require("../../../factory");
15
6
  * 取引タスク出力
16
7
  */
17
8
  function exportTasksById(params) {
18
- // tslint:disable-next-line:max-func-body-length
19
- return (repos) => __awaiter(this, void 0, void 0, function* () {
9
+ return async (repos) => {
20
10
  // const { useAssetTransactionSyncProcessing } = settings;
21
- const transaction = yield repos.assetTransaction.findById({
11
+ const transaction = await repos.assetTransaction.findById({
22
12
  typeOf: factory.assetTransactionType.Reserve,
23
13
  id: params.id
24
14
  }, ['status', 'transactionNumber', 'project', 'typeOf'] // projection(2024-07-01~)
@@ -84,5 +74,5 @@ function exportTasksById(params) {
84
74
  throw new factory.errors.NotImplemented(`Transaction status "${transaction.status}" not implemented.`);
85
75
  }
86
76
  return repos.task.saveMany(taskAttributes, { emitImmediately: true });
87
- });
77
+ };
88
78
  }
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.createSubReservations = createSubReservations;
13
4
  const createDebug = require("debug");
@@ -18,9 +9,7 @@ const OfferService = require("../../../offer");
18
9
  const createReservation_1 = require("./factory/createReservation");
19
10
  const debug = createDebug('chevre-domain:service:assetTransaction:reserve');
20
11
  function createSubReservations(params) {
21
- // tslint:disable-next-line:max-func-body-length
22
- return (repos) => __awaiter(this, void 0, void 0, function* () {
23
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
12
+ return async (repos) => {
24
13
  // 予約番号
25
14
  // const reservationNumber = params.transaction.object.reservationNumber;
26
15
  const reservationNumber = params.reservationNumber;
@@ -29,14 +18,14 @@ function createSubReservations(params) {
29
18
  }
30
19
  // 指定席のみかどうか
31
20
  const eventOffers = params.event.offers;
32
- const reservedSeatsOnly = ((_b = (_a = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.itemOffered.serviceOutput) === null || _a === void 0 ? void 0 : _a.reservedTicket) === null || _b === void 0 ? void 0 : _b.ticketedSeat) !== undefined;
21
+ const reservedSeatsOnly = eventOffers?.itemOffered.serviceOutput?.reservedTicket?.ticketedSeat !== undefined;
33
22
  // オファーIDごとにオファー適用条件を確認(興行オファー承認アクションから処理を移行)(2024-07-03~)
34
23
  validateQuantityRequirement({ acceptedOffers: params.acceptedOffers, ticketOffers: params.ticketOffers, reservationNumber });
35
24
  // 事前予約要件参照
36
25
  let advanceBookingRequirements = [];
37
- const advanceBookingRequirementIds = [...new Set(params.availableOffers.reduce((a, b) => { var _a; return (typeof ((_a = b.advanceBookingRequirement) === null || _a === void 0 ? void 0 : _a.id) === 'string') ? [...a, b.advanceBookingRequirement.id] : a; }, []))];
26
+ const advanceBookingRequirementIds = [...new Set(params.availableOffers.reduce((a, b) => (typeof b.advanceBookingRequirement?.id === 'string') ? [...a, b.advanceBookingRequirement.id] : a, []))];
38
27
  if (advanceBookingRequirementIds.length > 0) {
39
- advanceBookingRequirements = yield repos.advanceBookingRequirement.projectFields({ id: { $in: advanceBookingRequirementIds } }, ['identifier', 'maxValue', 'minValue', 'unitCode', 'valueReference']);
28
+ advanceBookingRequirements = await repos.advanceBookingRequirement.projectFields({ id: { $in: advanceBookingRequirementIds } }, ['identifier', 'maxValue', 'minValue', 'unitCode', 'valueReference']);
40
29
  debug('createSubReservations:', advanceBookingRequirements.length, 'advanceBookingRequirements found', JSON.stringify(advanceBookingRequirements));
41
30
  }
42
31
  const reservations = [];
@@ -59,7 +48,7 @@ function createSubReservations(params) {
59
48
  now: params.now,
60
49
  reservationFor: params.event
61
50
  });
62
- const programMembershipUsed = yield validateProgramMembershipUsed({
51
+ const programMembershipUsed = await validateProgramMembershipUsed({
63
52
  acceptedOffer,
64
53
  availableOffer: ticketType,
65
54
  project: { id: params.event.project.id }
@@ -80,18 +69,17 @@ function createSubReservations(params) {
80
69
  // 座席指定であれば、座席タイプチャージを検索する
81
70
  const seatPriceComponent = [];
82
71
  // 区分加算料金を適用しないオプションを追加(2023-01-26~)
83
- const ignoreCategoryCodeChargeSpec = ((_c = ticketType.settings) === null || _c === void 0 ? void 0 : _c.ignoreCategoryCodeChargeSpec) === true;
72
+ const ignoreCategoryCodeChargeSpec = ticketType.settings?.ignoreCategoryCodeChargeSpec === true;
84
73
  if (!ignoreCategoryCodeChargeSpec) {
85
- const seatSection = (_d = reservedTicket.ticketedSeat) === null || _d === void 0 ? void 0 : _d.seatSection;
86
- const seatNumber = (_e = reservedTicket.ticketedSeat) === null || _e === void 0 ? void 0 : _e.seatNumber;
74
+ const seatSection = reservedTicket.ticketedSeat?.seatSection;
75
+ const seatNumber = reservedTicket.ticketedSeat?.seatNumber;
87
76
  if (typeof seatSection === 'string' && typeof seatNumber === 'string') {
88
- const offersOnSeat = (_f = params.availableSeatOffers.find((o) => {
89
- var _a;
90
- return o.branchCode === seatNumber && ((_a = o.containedInPlace) === null || _a === void 0 ? void 0 : _a.branchCode) === seatSection;
91
- })) === null || _f === void 0 ? void 0 : _f.offers;
77
+ const offersOnSeat = params.availableSeatOffers.find((o) => {
78
+ return o.branchCode === seatNumber && o.containedInPlace?.branchCode === seatSection;
79
+ })?.offers;
92
80
  if (Array.isArray(offersOnSeat)) {
93
81
  const availableSeatOffer = offersOnSeat[0];
94
- const seatPriceSpecs = (_g = availableSeatOffer === null || availableSeatOffer === void 0 ? void 0 : availableSeatOffer.priceSpecification) === null || _g === void 0 ? void 0 : _g.priceComponent;
82
+ const seatPriceSpecs = availableSeatOffer?.priceSpecification?.priceComponent;
95
83
  if (Array.isArray(seatPriceSpecs)) {
96
84
  seatPriceComponent.push(...seatPriceSpecs);
97
85
  }
@@ -104,7 +92,7 @@ function createSubReservations(params) {
104
92
  const acceptedAddOnsParams = acceptedOffer.addOn;
105
93
  if (Array.isArray(acceptedAddOnsParams) && acceptedAddOnsParams.length > 0) {
106
94
  // アドオンオファー検索(2023-03-02~)
107
- availableAddOns = yield searchAvailableAddOns({
95
+ availableAddOns = await searchAvailableAddOns({
108
96
  ids: acceptedAddOnsParams.map((acceptedAddOn) => String(acceptedAddOn.id)),
109
97
  project: { id: params.event.project.id },
110
98
  ticketOffer,
@@ -113,8 +101,7 @@ function createSubReservations(params) {
113
101
  }
114
102
  if (Array.isArray(availableAddOns) && Array.isArray(acceptedAddOnsParams)) {
115
103
  acceptedAddOnsParams.forEach((acceptedAddOnParams) => {
116
- var _a, _b, _c;
117
- const availableAddOn = availableAddOns === null || availableAddOns === void 0 ? void 0 : availableAddOns.find((addOn) => addOn.id === acceptedAddOnParams.id);
104
+ const availableAddOn = availableAddOns?.find((addOn) => addOn.id === acceptedAddOnParams.id);
118
105
  if (availableAddOn !== undefined) {
119
106
  // acceptedAddOnsの重複を避ける(単価オファーIDに対して)
120
107
  if (!acceptedAddOns.some((addOn) => addOn.id === availableAddOn.id)) {
@@ -125,7 +112,7 @@ function createSubReservations(params) {
125
112
  // 受入数量はデフォルトで単価オファーの基準数量
126
113
  let referenceQuantityValueAccepted = availableAddOnReferenceQuantityValue;
127
114
  // 数量指定を検証(2023-08-31~)
128
- const specifiedReferencedQuantityValue = (_b = (_a = acceptedAddOnParams.priceSpecification) === null || _a === void 0 ? void 0 : _a.referenceQuantity) === null || _b === void 0 ? void 0 : _b.value;
115
+ const specifiedReferencedQuantityValue = acceptedAddOnParams.priceSpecification?.referenceQuantity?.value;
129
116
  if (typeof specifiedReferencedQuantityValue === 'number') {
130
117
  if (specifiedReferencedQuantityValue < 1) {
131
118
  throw new factory.errors.Argument('addOn.priceSpecification.referenceQuantity.value must be > 0');
@@ -139,15 +126,30 @@ function createSubReservations(params) {
139
126
  }
140
127
  const priceAccepted = availableAddOn.priceSpecification.price *
141
128
  (referenceQuantityValueAccepted / availableAddOnReferenceQuantityValue);
142
- const accountsReceivableAccepted = (typeof ((_c = availableAddOn.priceSpecification.accounting) === null || _c === void 0 ? void 0 : _c.accountsReceivable) === 'number')
129
+ const accountsReceivableAccepted = (typeof availableAddOn.priceSpecification.accounting?.accountsReceivable === 'number')
143
130
  ? availableAddOn.priceSpecification.accounting.accountsReceivable *
144
131
  (referenceQuantityValueAccepted / availableAddOnReferenceQuantityValue)
145
132
  : undefined;
146
- const acceptedAddOn = Object.assign(Object.assign({}, availableAddOn), { priceSpecification: Object.assign(Object.assign(Object.assign({}, availableAddOn.priceSpecification), (typeof accountsReceivableAccepted === 'number')
147
- ? {
148
- accounting: Object.assign(Object.assign({}, availableAddOn.priceSpecification.accounting), { accountsReceivable: accountsReceivableAccepted, typeOf: 'Accounting' })
133
+ const acceptedAddOn = {
134
+ ...availableAddOn,
135
+ priceSpecification: {
136
+ ...availableAddOn.priceSpecification,
137
+ ...(typeof accountsReceivableAccepted === 'number')
138
+ ? {
139
+ accounting: {
140
+ ...availableAddOn.priceSpecification.accounting,
141
+ accountsReceivable: accountsReceivableAccepted,
142
+ typeOf: 'Accounting'
143
+ }
144
+ }
145
+ : undefined,
146
+ price: priceAccepted,
147
+ referenceQuantity: {
148
+ ...availableAddOn.priceSpecification.referenceQuantity,
149
+ value: referenceQuantityValueAccepted
149
150
  }
150
- : undefined), { price: priceAccepted, referenceQuantity: Object.assign(Object.assign({}, availableAddOn.priceSpecification.referenceQuantity), { value: referenceQuantityValueAccepted }) }) });
151
+ }
152
+ };
151
153
  acceptedAddOns.push(acceptedAddOn);
152
154
  }
153
155
  }
@@ -156,7 +158,7 @@ function createSubReservations(params) {
156
158
  // (availableAddOn) => acceptedAddOnsParams.some((acceptedAddOn) => availableAddOn.id === acceptedAddOn.id)
157
159
  // );
158
160
  }
159
- const subReservation = (_j = (_h = acceptedOffer.itemOffered) === null || _h === void 0 ? void 0 : _h.serviceOutput) === null || _j === void 0 ? void 0 : _j.subReservation;
161
+ const subReservation = acceptedOffer.itemOffered?.serviceOutput?.subReservation;
160
162
  reservations.push((0, createReservation_1.createReservation)({
161
163
  project: { id: params.event.project.id, typeOf: factory.organizationType.Project },
162
164
  id: reservationId,
@@ -170,23 +172,31 @@ function createSubReservations(params) {
170
172
  subReservation: subReservation,
171
173
  programMembershipUsed,
172
174
  availableOffer: ticketType,
173
- appliesToMovieTicket: (_k = acceptedOffer.priceSpecification) === null || _k === void 0 ? void 0 : _k.appliesToMovieTicket,
175
+ appliesToMovieTicket: acceptedOffer.priceSpecification?.appliesToMovieTicket,
174
176
  validateAppliesToMovieTicket: params.validateAppliesToMovieTicket
175
177
  }));
176
178
  }
177
179
  return reservations;
178
- });
180
+ };
179
181
  }
180
182
  function searchAvailableAddOns(params) {
181
- return (repos) => __awaiter(this, void 0, void 0, function* () {
182
- var _a;
183
+ return async (repos) => {
183
184
  const availableAddOns = [];
184
185
  if (Array.isArray(params.ticketOffer.addOn)) {
185
186
  const addOnProductIds = [...new Set(params.ticketOffer.addOn.map((o) => String(o.itemOffered.id)))];
186
187
  for (const addOnProductId of addOnProductIds) {
187
- const { offers, product } = yield OfferService.product.search(Object.assign({ ids: params.ids, project: { id: params.project.id }, itemOffered: { id: addOnProductId }, onlyValid: true, addSortIndex: false, includedInDataCatalog: { id: '' }, useIncludeInDataCatalog: false }, (typeof ((_a = params.availableAtOrFrom) === null || _a === void 0 ? void 0 : _a.id) === 'string')
188
- ? { availableAt: { id: params.availableAtOrFrom.id } }
189
- : undefined))(repos);
188
+ const { offers, product } = await OfferService.product.search({
189
+ ids: params.ids,
190
+ project: { id: params.project.id },
191
+ itemOffered: { id: addOnProductId },
192
+ onlyValid: true,
193
+ addSortIndex: false,
194
+ includedInDataCatalog: { id: '' }, // 承認時はカタログ指定の必要なし
195
+ useIncludeInDataCatalog: false,
196
+ ...(typeof params.availableAtOrFrom?.id === 'string')
197
+ ? { availableAt: { id: params.availableAtOrFrom.id } }
198
+ : undefined
199
+ })(repos);
190
200
  const productType = product.typeOf;
191
201
  if (productType === factory.product.ProductType.Product) {
192
202
  availableAddOns.push(...offers.map((o) => {
@@ -200,16 +210,29 @@ function searchAvailableAddOns(params) {
200
210
  const unitPriceSpec = o.priceSpecification.priceComponent.find((component) => {
201
211
  return component.typeOf === factory.priceSpecificationType.UnitPriceSpecification;
202
212
  });
203
- if ((unitPriceSpec === null || unitPriceSpec === void 0 ? void 0 : unitPriceSpec.typeOf) !== factory.priceSpecificationType.UnitPriceSpecification) {
213
+ if (unitPriceSpec?.typeOf !== factory.priceSpecificationType.UnitPriceSpecification) {
204
214
  throw new factory.errors.NotFound('UnitPriceSpecification of an addOn');
205
215
  }
206
- return Object.assign(Object.assign({ alternateName: o.alternateName, availability: o.availability, description: o.description, id: String(o.id), identifier: o.identifier, itemOffered: itemOffered4addOn, name: o.name, priceCurrency: o.priceCurrency, priceSpecification: unitPriceSpec, typeOf: o.typeOf }, (o.validFrom instanceof Date) ? { validFrom: o.validFrom } : undefined), (o.validThrough instanceof Date) ? { validThrough: o.validThrough } : undefined);
216
+ return {
217
+ alternateName: o.alternateName,
218
+ availability: o.availability,
219
+ description: o.description,
220
+ id: String(o.id),
221
+ identifier: o.identifier,
222
+ itemOffered: itemOffered4addOn,
223
+ name: o.name,
224
+ priceCurrency: o.priceCurrency,
225
+ priceSpecification: unitPriceSpec,
226
+ typeOf: o.typeOf,
227
+ ...(o.validFrom instanceof Date) ? { validFrom: o.validFrom } : undefined,
228
+ ...(o.validThrough instanceof Date) ? { validThrough: o.validThrough } : undefined
229
+ };
207
230
  }));
208
231
  }
209
232
  }
210
233
  }
211
234
  return availableAddOns;
212
- });
235
+ };
213
236
  }
214
237
  function validateQuantityRequirement(params) {
215
238
  const { acceptedOffers, ticketOffers, reservationNumber } = params;
@@ -219,7 +242,6 @@ function validateQuantityRequirement(params) {
219
242
  debug('validating quantity requirement... reservationNumber:', reservationNumber, offerIds);
220
243
  // オファーIDごとにオファー適用条件を確認
221
244
  offerIds.forEach((offerId) => {
222
- var _a, _b, _c;
223
245
  const numAcceptedOffersByOfferId = params.acceptedOffers.filter(({ id }) => id === offerId).length;
224
246
  const ticketOffer = ticketOffers.find(({ id }) => id === offerId);
225
247
  if (ticketOffer === undefined) {
@@ -229,10 +251,10 @@ function validateQuantityRequirement(params) {
229
251
  // 単価仕様を取り出す
230
252
  const unitPriceSpec = ticketOffer.priceSpecification.priceComponent.find((spec) => spec.typeOf === factory.priceSpecificationType.UnitPriceSpecification && (!Array.isArray(spec.appliesToAddOn)));
231
253
  // 単価仕様は必ず存在するはず
232
- if ((unitPriceSpec === null || unitPriceSpec === void 0 ? void 0 : unitPriceSpec.typeOf) !== factory.priceSpecificationType.UnitPriceSpecification) {
254
+ if (unitPriceSpec?.typeOf !== factory.priceSpecificationType.UnitPriceSpecification) {
233
255
  throw new factory.errors.Internal(`unitPriceSpec of the offer '${offerId}' not found`);
234
256
  }
235
- const unitPriceSpecReferenceQuantityValue = (_a = unitPriceSpec.referenceQuantity) === null || _a === void 0 ? void 0 : _a.value;
257
+ const unitPriceSpecReferenceQuantityValue = unitPriceSpec.referenceQuantity?.value;
236
258
  if (typeof unitPriceSpecReferenceQuantityValue === 'number') {
237
259
  referenceQuantityValue = unitPriceSpecReferenceQuantityValue;
238
260
  }
@@ -242,14 +264,14 @@ function validateQuantityRequirement(params) {
242
264
  throw new factory.errors.Argument('acceptedOffers', `Offer ${offerId} requires reference quantity value ${referenceQuantityValue}`);
243
265
  }
244
266
  // 適用数量要件を満たしていなければエラー
245
- const maxValue = (_b = unitPriceSpec.eligibleQuantity) === null || _b === void 0 ? void 0 : _b.maxValue;
267
+ const maxValue = unitPriceSpec.eligibleQuantity?.maxValue;
246
268
  if (typeof maxValue === 'number') {
247
269
  debug('validating eligibleQuantity.maxValue... reservationNumber:', reservationNumber, offerId, 'numAcceptedOffersByOfferId:', numAcceptedOffersByOfferId, 'maxValue:', maxValue);
248
270
  if (numAcceptedOffersByOfferId > maxValue) {
249
271
  throw new factory.errors.Argument('acceptedOffers', `Number of offer:${offerId} must be less than or equal to ${maxValue}`);
250
272
  }
251
273
  }
252
- const minValue = (_c = unitPriceSpec.eligibleQuantity) === null || _c === void 0 ? void 0 : _c.minValue;
274
+ const minValue = unitPriceSpec.eligibleQuantity?.minValue;
253
275
  if (typeof minValue === 'number') {
254
276
  debug('validating eligibleQuantity.minValue... reservationNumber:', reservationNumber, offerId, 'numAcceptedOffersByOfferId:', numAcceptedOffersByOfferId, 'minValue:', minValue);
255
277
  if (numAcceptedOffersByOfferId < minValue) {
@@ -262,10 +284,9 @@ function validateQuantityRequirement(params) {
262
284
  * 事前予約要件を検証する
263
285
  */
264
286
  function validateAdvanceBookingRequirement(params) {
265
- var _a, _b;
266
287
  let requirementSatisfied = true;
267
288
  // reimplement using advanceBookingRequirementRepo(2025-04-08~)
268
- const advanceBookingRequirementId = (_a = params.unitPriceOffer.advanceBookingRequirement) === null || _a === void 0 ? void 0 : _a.id;
289
+ const advanceBookingRequirementId = params.unitPriceOffer.advanceBookingRequirement?.id;
269
290
  if (typeof advanceBookingRequirementId === 'string') {
270
291
  const advanceBookingRequirement = params.advanceBookingRequirements.find(({ id }) => id === advanceBookingRequirementId);
271
292
  if (advanceBookingRequirement === undefined) {
@@ -274,13 +295,11 @@ function validateAdvanceBookingRequirement(params) {
274
295
  const advanceBookingRequirementMaxValue = advanceBookingRequirement.maxValue;
275
296
  const advanceBookingRequirementMinValue = advanceBookingRequirement.minValue;
276
297
  const advanceBookingRequirementUnitCode = advanceBookingRequirement.unitCode;
277
- const valueReferenceOpens = (_b = advanceBookingRequirement.valueReference) === null || _b === void 0 ? void 0 : _b.opens;
298
+ const valueReferenceOpens = advanceBookingRequirement.valueReference?.opens;
278
299
  let usageDate = moment(params.reservationFor.startDate, true);
279
300
  if (typeof valueReferenceOpens === 'string') {
280
301
  // support valueReference(2025-04-10~)
281
- // tslint:disable-next-line:no-magic-numbers
282
302
  const opensOffset = valueReferenceOpens.slice(8); // format: HH:mm:ssZ
283
- // tslint:disable-next-line:no-console
284
303
  debug('opensOffset:', opensOffset);
285
304
  usageDate = usageDate.utcOffset(opensOffset);
286
305
  usageDate = moment(`${usageDate.format('YYYY-MM-DD')}T${valueReferenceOpens}`, true);
@@ -318,29 +337,27 @@ function validateAdvanceBookingRequirement(params) {
318
337
  }
319
338
  }
320
339
  function validateProgramMembershipUsed(params) {
321
- // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
322
- return (repos) => __awaiter(this, void 0, void 0, function* () {
323
- var _a, _b, _c, _d, _e, _f, _g, _h;
340
+ return async (repos) => {
324
341
  const now = new Date();
325
342
  let programMembershipUsed;
326
- const requestedProgramMembershipUsed = (_b = (_a = params.acceptedOffer.itemOffered) === null || _a === void 0 ? void 0 : _a.serviceOutput) === null || _b === void 0 ? void 0 : _b.programMembershipUsed;
343
+ const requestedProgramMembershipUsed = params.acceptedOffer.itemOffered?.serviceOutput?.programMembershipUsed;
327
344
  if (typeof requestedProgramMembershipUsed === 'string') {
328
345
  throw new factory.errors.Argument('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed', 'must be permit');
329
346
  }
330
- if ((requestedProgramMembershipUsed === null || requestedProgramMembershipUsed === void 0 ? void 0 : requestedProgramMembershipUsed.typeOf) === 'Ticket') {
347
+ if (requestedProgramMembershipUsed?.typeOf === 'Ticket') {
331
348
  throw new factory.errors.Argument('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed', 'must be permit');
332
349
  }
333
- const programMembershipUsedIdentifier = requestedProgramMembershipUsed === null || requestedProgramMembershipUsed === void 0 ? void 0 : requestedProgramMembershipUsed.identifier;
334
- const issuedThroughTypeOf = (_c = requestedProgramMembershipUsed === null || requestedProgramMembershipUsed === void 0 ? void 0 : requestedProgramMembershipUsed.issuedThrough) === null || _c === void 0 ? void 0 : _c.typeOf;
350
+ const programMembershipUsedIdentifier = requestedProgramMembershipUsed?.identifier;
351
+ const issuedThroughTypeOf = requestedProgramMembershipUsed?.issuedThrough?.typeOf;
335
352
  if (typeof programMembershipUsedIdentifier === 'string') {
336
353
  let permitIssuedThrough;
337
354
  // まずメンバーシップを検索して、存在しなければCreditCardを検索(どちらが発行元サービスか不明なので)
338
355
  if (issuedThroughTypeOf === factory.product.ProductType.MembershipService) {
339
- const issuedThroughId = (_d = requestedProgramMembershipUsed === null || requestedProgramMembershipUsed === void 0 ? void 0 : requestedProgramMembershipUsed.issuedThrough) === null || _d === void 0 ? void 0 : _d.id;
356
+ const issuedThroughId = requestedProgramMembershipUsed?.issuedThrough?.id;
340
357
  if (typeof issuedThroughId !== 'string' || issuedThroughId === '') {
341
358
  throw new factory.errors.ArgumentNull('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed.issuedThrough.id');
342
359
  }
343
- permitIssuedThrough = (yield repos.product.projectFields({
360
+ permitIssuedThrough = (await repos.product.projectFields({
344
361
  limit: 1,
345
362
  page: 1,
346
363
  id: { $eq: issuedThroughId },
@@ -353,11 +370,11 @@ function validateProgramMembershipUsed(params) {
353
370
  }
354
371
  }
355
372
  else if (issuedThroughTypeOf === factory.service.paymentService.PaymentServiceType.CreditCard) {
356
- const issuedThroughId = (_e = requestedProgramMembershipUsed === null || requestedProgramMembershipUsed === void 0 ? void 0 : requestedProgramMembershipUsed.issuedThrough) === null || _e === void 0 ? void 0 : _e.id;
373
+ const issuedThroughId = requestedProgramMembershipUsed?.issuedThrough?.id;
357
374
  if (typeof issuedThroughId !== 'string' || issuedThroughId === '') {
358
375
  throw new factory.errors.ArgumentNull('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed.issuedThrough.id');
359
376
  }
360
- permitIssuedThrough = (yield repos.paymentService.projectFields({
377
+ permitIssuedThrough = (await repos.paymentService.projectFields({
361
378
  limit: 1,
362
379
  page: 1,
363
380
  id: { $eq: issuedThroughId },
@@ -379,7 +396,7 @@ function validateProgramMembershipUsed(params) {
379
396
  switch (permitIssuedThrough.typeOf) {
380
397
  case factory.service.paymentService.PaymentServiceType.FaceToFace:
381
398
  // 適用メンバーシップ条件有のオファーであれば、問答無用に受け入れる
382
- const eligibleMembershipType = (_g = (_f = params.availableOffer.eligibleMembershipType) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.codeValue;
399
+ const eligibleMembershipType = params.availableOffer.eligibleMembershipType?.[0]?.codeValue;
383
400
  if (typeof eligibleMembershipType === 'string') {
384
401
  programMembershipUsed = {
385
402
  typeOf: factory.programMembership.ProgramMembershipType.ProgramMembership,
@@ -396,12 +413,12 @@ function validateProgramMembershipUsed(params) {
396
413
  // 決済サービスのserviceOutputにPermitが存在すれば、設定されたメンバーシップ区分のPermitをprogramMembershipUsedとして適用する
397
414
  let issuedThroughServiceType;
398
415
  if (Array.isArray(permitIssuedThrough.serviceOutput)) {
399
- const serviceOutputAsPermit = permitIssuedThrough.serviceOutput.find((output) => (output === null || output === void 0 ? void 0 : output.typeOf) === factory.permit.PermitType.Permit);
400
- if ((serviceOutputAsPermit === null || serviceOutputAsPermit === void 0 ? void 0 : serviceOutputAsPermit.typeOf) === factory.permit.PermitType.Permit) {
416
+ const serviceOutputAsPermit = permitIssuedThrough.serviceOutput.find((output) => output?.typeOf === factory.permit.PermitType.Permit);
417
+ if (serviceOutputAsPermit?.typeOf === factory.permit.PermitType.Permit) {
401
418
  issuedThroughServiceType = serviceOutputAsPermit.issuedThrough.serviceType;
402
419
  }
403
420
  }
404
- if (typeof (issuedThroughServiceType === null || issuedThroughServiceType === void 0 ? void 0 : issuedThroughServiceType.codeValue) === 'string') {
421
+ if (typeof issuedThroughServiceType?.codeValue === 'string') {
405
422
  programMembershipUsed = {
406
423
  typeOf: factory.programMembership.ProgramMembershipType.ProgramMembership,
407
424
  identifier: programMembershipUsedIdentifier,
@@ -418,9 +435,9 @@ function validateProgramMembershipUsed(params) {
418
435
  break;
419
436
  case factory.product.ProductType.MembershipService:
420
437
  // requestedProgramMembershipUsedの発行サービスIDから外部連携設定を取得する
421
- const permitService = yield createPermitService({ issuedThrough: { id: permitIssuedThrough.id } })(repos);
438
+ const permitService = await createPermitService({ issuedThrough: { id: permitIssuedThrough.id } })(repos);
422
439
  // メンバーシップの存在確認
423
- const serviceOutput = yield permitService.findByIdentifier({
440
+ const serviceOutput = await permitService.findByIdentifier({
424
441
  project: { id: params.project.id },
425
442
  identifier: programMembershipUsedIdentifier,
426
443
  issuedThrough: { typeOf: factory.product.ProductType.MembershipService }
@@ -436,7 +453,7 @@ function validateProgramMembershipUsed(params) {
436
453
  .isBefore(moment(now))) {
437
454
  throw new factory.errors.Argument('acceptedOffer.itemOffered.serviceOutput.programMembershipUsed', 'unavailable programMembership');
438
455
  }
439
- if (((_h = permitIssuedThrough.serviceType) === null || _h === void 0 ? void 0 : _h.typeOf) === 'CategoryCode') {
456
+ if (permitIssuedThrough.serviceType?.typeOf === 'CategoryCode') {
440
457
  programMembershipUsed = {
441
458
  typeOf: factory.programMembership.ProgramMembershipType.ProgramMembership,
442
459
  identifier: programMembershipUsedIdentifier,
@@ -453,12 +470,11 @@ function validateProgramMembershipUsed(params) {
453
470
  }
454
471
  }
455
472
  return programMembershipUsed;
456
- });
473
+ };
457
474
  }
458
475
  function createPermitService(params) {
459
- return (repos) => __awaiter(this, void 0, void 0, function* () {
460
- var _a, _b, _c, _d, _e, _f, _g;
461
- const product = (yield repos.product.projectFields({
476
+ return async (repos) => {
477
+ const product = (await repos.product.projectFields({
462
478
  limit: 1,
463
479
  page: 1,
464
480
  id: { $eq: params.issuedThrough.id }
@@ -468,19 +484,19 @@ function createPermitService(params) {
468
484
  if (product === undefined) {
469
485
  throw new factory.errors.NotFound('Product');
470
486
  }
471
- const permitServiceEndpoint = (_a = product.availableChannel) === null || _a === void 0 ? void 0 : _a.serviceUrl;
472
- const permitServiceAuthorizeServerDomain = (_c = (_b = product.availableChannel) === null || _b === void 0 ? void 0 : _b.credentials) === null || _c === void 0 ? void 0 : _c.authorizeServerDomain;
473
- const permitServiceClientId = (_e = (_d = product.availableChannel) === null || _d === void 0 ? void 0 : _d.credentials) === null || _e === void 0 ? void 0 : _e.clientId;
474
- const permitServiceClientSecret = (_g = (_f = product.availableChannel) === null || _f === void 0 ? void 0 : _f.credentials) === null || _g === void 0 ? void 0 : _g.clientSecret;
487
+ const permitServiceEndpoint = product.availableChannel?.serviceUrl;
488
+ const permitServiceAuthorizeServerDomain = product.availableChannel?.credentials?.authorizeServerDomain;
489
+ const permitServiceClientId = product.availableChannel?.credentials?.clientId;
490
+ const permitServiceClientSecret = product.availableChannel?.credentials?.clientSecret;
475
491
  if (typeof permitServiceEndpoint !== 'string' || permitServiceEndpoint.length === 0
476
492
  || typeof permitServiceAuthorizeServerDomain !== 'string' || permitServiceAuthorizeServerDomain.length === 0
477
493
  || typeof permitServiceClientId !== 'string' || permitServiceClientId.length === 0
478
494
  || typeof permitServiceClientSecret !== 'string' || permitServiceClientSecret.length === 0) {
479
495
  throw new factory.errors.Internal('product availableChannel invalid');
480
496
  }
481
- return new (yield pecorinoapi.loadPecorino()).service.Permit({
497
+ return new (await pecorinoapi.loadPecorino()).service.Permit({
482
498
  endpoint: permitServiceEndpoint,
483
- auth: yield pecorinoapi.auth.ClientCredentials.createInstance({
499
+ auth: await pecorinoapi.auth.ClientCredentials.createInstance({
484
500
  domain: permitServiceAuthorizeServerDomain,
485
501
  clientId: permitServiceClientId,
486
502
  clientSecret: permitServiceClientSecret,
@@ -488,5 +504,5 @@ function createPermitService(params) {
488
504
  state: ''
489
505
  })
490
506
  });
491
- });
507
+ };
492
508
  }
@@ -7,17 +7,16 @@ const accountTransactionIdentifier_1 = require("../../../../../factory/accountTr
7
7
  * ポイント特典を作成する
8
8
  */
9
9
  function createPointAward(params) {
10
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
11
10
  let pointAward;
12
- const pointAwardAmount = (_b = (_a = params.offer.itemOffered) === null || _a === void 0 ? void 0 : _a.pointAward) === null || _b === void 0 ? void 0 : _b.amount;
13
- const pointAwardDescription = (_d = (_c = params.offer.itemOffered) === null || _c === void 0 ? void 0 : _c.pointAward) === null || _d === void 0 ? void 0 : _d.description;
14
- const pointAwardToLocationIdentifier = (_g = (_f = (_e = params.acceptedOffer.itemOffered) === null || _e === void 0 ? void 0 : _e.pointAward) === null || _f === void 0 ? void 0 : _f.toLocation) === null || _g === void 0 ? void 0 : _g.identifier;
15
- const pointAwardToLocationIssuedThroughId = (_k = (_j = (_h = params.acceptedOffer.itemOffered) === null || _h === void 0 ? void 0 : _h.pointAward) === null || _j === void 0 ? void 0 : _j.toLocation) === null || _k === void 0 ? void 0 : _k.issuedThrough.id;
16
- const pointAwardRecipient = (_m = (_l = params.acceptedOffer.itemOffered) === null || _l === void 0 ? void 0 : _l.pointAward) === null || _m === void 0 ? void 0 : _m.recipient;
11
+ const pointAwardAmount = params.offer.itemOffered?.pointAward?.amount;
12
+ const pointAwardDescription = params.offer.itemOffered?.pointAward?.description;
13
+ const pointAwardToLocationIdentifier = params.acceptedOffer.itemOffered?.pointAward?.toLocation?.identifier;
14
+ const pointAwardToLocationIssuedThroughId = params.acceptedOffer.itemOffered?.pointAward?.toLocation?.issuedThrough.id;
15
+ const pointAwardRecipient = params.acceptedOffer.itemOffered?.pointAward?.recipient;
17
16
  // const pointAwardPurposeIdentifier = params.acceptedOffer.itemOffered?.pointAward?.purpose?.identifier;
18
17
  // オファーのpointAward設定が適切にされていれば、指定されたtoLocationを反映する
19
- if (typeof (pointAwardAmount === null || pointAwardAmount === void 0 ? void 0 : pointAwardAmount.value) === 'number'
20
- && typeof (pointAwardAmount === null || pointAwardAmount === void 0 ? void 0 : pointAwardAmount.currency) === 'string'
18
+ if (typeof pointAwardAmount?.value === 'number'
19
+ && typeof pointAwardAmount?.currency === 'string'
21
20
  && typeof pointAwardToLocationIdentifier === 'string'
22
21
  && typeof pointAwardToLocationIssuedThroughId === 'string') {
23
22
  // ここで識別子を作成する(入金のユニークネスが保証される)
@@ -27,13 +26,19 @@ function createPointAward(params) {
27
26
  reservation: { id: params.reservation.id },
28
27
  toLocation: { identifier: pointAwardToLocationIdentifier }
29
28
  });
30
- pointAward = Object.assign(Object.assign({ amount: pointAwardAmount, purpose: { identifier: purposeIdentifier }, toLocation: {
29
+ pointAward = {
30
+ amount: pointAwardAmount,
31
+ purpose: { identifier: purposeIdentifier },
32
+ toLocation: {
31
33
  typeOf: factory.permit.PermitType.Permit,
32
34
  identifier: pointAwardToLocationIdentifier,
33
35
  issuedThrough: { id: pointAwardToLocationIssuedThroughId }
34
- }, typeOf: factory.actionType.MoneyTransfer }, (typeof pointAwardDescription === 'string') ? { description: pointAwardDescription } : undefined), (pointAwardRecipient !== undefined) ? { recipient: pointAwardRecipient } : undefined
35
- // ...(typeof pointAwardPurposeIdentifier === 'string') ? { purpose: { identifier: pointAwardPurposeIdentifier } } : undefined
36
- );
36
+ },
37
+ typeOf: factory.actionType.MoneyTransfer,
38
+ ...(typeof pointAwardDescription === 'string') ? { description: pointAwardDescription } : undefined,
39
+ ...(pointAwardRecipient !== undefined) ? { recipient: pointAwardRecipient } : undefined
40
+ // ...(typeof pointAwardPurposeIdentifier === 'string') ? { purpose: { identifier: pointAwardPurposeIdentifier } } : undefined
41
+ };
37
42
  }
38
43
  return pointAward;
39
44
  }