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

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 (476) 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 -54
  7. package/lib/chevre/factory/event.js +69 -42
  8. package/lib/chevre/factory/transactionNumber.js +2 -0
  9. package/lib/chevre/index.js +15 -30
  10. package/lib/chevre/repo/acceptedOffer.js +178 -197
  11. package/lib/chevre/repo/acceptedPaymentMethod.js +131 -143
  12. package/lib/chevre/repo/account.js +196 -223
  13. package/lib/chevre/repo/accountTitle.js +9 -21
  14. package/lib/chevre/repo/accountTransaction.js +189 -189
  15. package/lib/chevre/repo/accountingReport.js +88 -107
  16. package/lib/chevre/repo/action.js +853 -880
  17. package/lib/chevre/repo/additionalProperty.js +65 -91
  18. package/lib/chevre/repo/advanceBookingRequirement.js +69 -90
  19. package/lib/chevre/repo/aggregateOffer.js +394 -427
  20. package/lib/chevre/repo/aggregateOrder.js +50 -62
  21. package/lib/chevre/repo/aggregateReservation.js +76 -89
  22. package/lib/chevre/repo/aggregation.js +42 -63
  23. package/lib/chevre/repo/assetTransaction.js +696 -716
  24. package/lib/chevre/repo/authorization.js +115 -127
  25. package/lib/chevre/repo/categoryCode.js +115 -143
  26. package/lib/chevre/repo/comment.js +74 -82
  27. package/lib/chevre/repo/concurrentLock.js +17 -29
  28. package/lib/chevre/repo/confirmationNumber.js +20 -32
  29. package/lib/chevre/repo/creativeWork.js +154 -176
  30. package/lib/chevre/repo/credentials.js +40 -51
  31. package/lib/chevre/repo/customer.js +65 -88
  32. package/lib/chevre/repo/customerType.js +52 -61
  33. package/lib/chevre/repo/emailMessage.js +52 -80
  34. package/lib/chevre/repo/event.js +646 -669
  35. package/lib/chevre/repo/eventOffer.js +122 -125
  36. package/lib/chevre/repo/eventSellerMakesOffer.js +64 -76
  37. package/lib/chevre/repo/eventSeries.js +208 -231
  38. package/lib/chevre/repo/identity.js +94 -106
  39. package/lib/chevre/repo/identityProvider.js +72 -95
  40. package/lib/chevre/repo/issuer.js +102 -135
  41. package/lib/chevre/repo/member.js +238 -258
  42. package/lib/chevre/repo/memberProgram.js +157 -177
  43. package/lib/chevre/repo/merchantReturnPolicy.js +62 -93
  44. package/lib/chevre/repo/message.js +122 -135
  45. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
  46. package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
  47. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
  48. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  49. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
  50. package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
  51. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
  52. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
  53. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
  54. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
  55. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
  56. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -1
  57. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
  58. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
  59. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  60. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
  61. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
  62. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
  63. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
  64. package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
  65. package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
  66. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
  67. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +1 -1
  68. package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
  69. package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
  70. package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
  71. package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
  72. package/lib/chevre/repo/mongoose/schemas/member.js +1 -1
  73. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
  74. package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
  75. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
  76. package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
  77. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +1 -1
  78. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +1 -1
  79. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
  80. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  81. package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
  82. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
  83. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
  84. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
  85. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
  87. package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
  88. package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
  89. package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
  90. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  91. package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
  92. package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
  93. package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
  94. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
  95. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
  96. package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
  97. package/lib/chevre/repo/mongoose/schemas/setting.js +1 -1
  98. package/lib/chevre/repo/mongoose/schemas/task.js +1 -1
  99. package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/transaction.js +1 -1
  101. package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
  102. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
  103. package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
  104. package/lib/chevre/repo/movieTicketType.js +68 -89
  105. package/lib/chevre/repo/note.js +143 -146
  106. package/lib/chevre/repo/noteAboutOrder.js +112 -113
  107. package/lib/chevre/repo/offer/unitPriceInCatalog.js +331 -313
  108. package/lib/chevre/repo/offerCatalog.js +302 -333
  109. package/lib/chevre/repo/offerCatalogItem.js +289 -316
  110. package/lib/chevre/repo/offerItemCondition.js +60 -85
  111. package/lib/chevre/repo/order.js +563 -572
  112. package/lib/chevre/repo/orderInTransaction.js +113 -136
  113. package/lib/chevre/repo/orderNumber.js +99 -112
  114. package/lib/chevre/repo/ownershipInfo.js +213 -233
  115. package/lib/chevre/repo/passport.js +94 -102
  116. package/lib/chevre/repo/paymentMethod/creditCard.js +153 -169
  117. package/lib/chevre/repo/paymentService.js +180 -199
  118. package/lib/chevre/repo/paymentServiceChannel.js +76 -99
  119. package/lib/chevre/repo/paymentServiceProvider.js +186 -201
  120. package/lib/chevre/repo/pendingReservation.js +275 -305
  121. package/lib/chevre/repo/permit.js +47 -42
  122. package/lib/chevre/repo/person.js +227 -247
  123. package/lib/chevre/repo/place/busStop.js +77 -103
  124. package/lib/chevre/repo/place/entranceGate.js +123 -128
  125. package/lib/chevre/repo/place/hasPOS.js +108 -120
  126. package/lib/chevre/repo/place/movieTheater.js +187 -219
  127. package/lib/chevre/repo/place/screeningRoom.js +340 -324
  128. package/lib/chevre/repo/place/seat.js +539 -475
  129. package/lib/chevre/repo/place/section.js +329 -292
  130. package/lib/chevre/repo/potentialAction.js +67 -86
  131. package/lib/chevre/repo/priceSpecification.js +103 -141
  132. package/lib/chevre/repo/product.js +204 -238
  133. package/lib/chevre/repo/productHasOfferCatalog.js +39 -50
  134. package/lib/chevre/repo/productModel.js +94 -126
  135. package/lib/chevre/repo/productOffer.js +119 -118
  136. package/lib/chevre/repo/project.js +123 -141
  137. package/lib/chevre/repo/projectMakesOffer.js +96 -108
  138. package/lib/chevre/repo/rateLimit/offer.js +43 -56
  139. package/lib/chevre/repo/reservation.js +370 -345
  140. package/lib/chevre/repo/reserveInterface.js +31 -42
  141. package/lib/chevre/repo/role.js +94 -112
  142. package/lib/chevre/repo/schedule.js +25 -36
  143. package/lib/chevre/repo/seller.js +115 -145
  144. package/lib/chevre/repo/sellerMakesOffer.js +95 -110
  145. package/lib/chevre/repo/sellerPaymentAccepted.js +92 -109
  146. package/lib/chevre/repo/sellerReturnPolicy.js +74 -96
  147. package/lib/chevre/repo/service/availableHour.js +27 -38
  148. package/lib/chevre/repo/serviceOutput.js +55 -66
  149. package/lib/chevre/repo/serviceOutputIdentifier.js +46 -57
  150. package/lib/chevre/repo/setting/jwt.js +40 -50
  151. package/lib/chevre/repo/setting.js +48 -48
  152. package/lib/chevre/repo/stockHolder.js +179 -197
  153. package/lib/chevre/repo/task.js +615 -617
  154. package/lib/chevre/repo/telemetry.js +1 -0
  155. package/lib/chevre/repo/ticket.js +52 -65
  156. package/lib/chevre/repo/transaction.js +758 -795
  157. package/lib/chevre/repo/transactionNumber.js +67 -80
  158. package/lib/chevre/repo/transactionNumberCounter.js +69 -79
  159. package/lib/chevre/repo/transactionProcess.js +36 -47
  160. package/lib/chevre/repo/trip.js +145 -163
  161. package/lib/chevre/repo/webSite.js +90 -105
  162. package/lib/chevre/repository.js +455 -646
  163. package/lib/chevre/service/account.js +9 -18
  164. package/lib/chevre/service/accountTransaction/deposit.js +16 -17
  165. package/lib/chevre/service/accountTransaction/transfer.js +18 -19
  166. package/lib/chevre/service/accountTransaction/withdraw.js +16 -17
  167. package/lib/chevre/service/accountTransaction.js +4 -13
  168. package/lib/chevre/service/aggregation/event/aggregateOffers.js +63 -60
  169. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +52 -55
  170. package/lib/chevre/service/aggregation/event/findEventOffers.js +7 -17
  171. package/lib/chevre/service/aggregation/event/importFromCOA.js +4 -13
  172. package/lib/chevre/service/aggregation/project.js +10 -19
  173. package/lib/chevre/service/aggregation/system.js +182 -99
  174. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +31 -17
  175. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +17 -23
  176. package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +17 -15
  177. package/lib/chevre/service/assetTransaction/cancelReservation.js +7 -16
  178. package/lib/chevre/service/assetTransaction/cancelReservationCOA/factory.js +11 -4
  179. package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +4 -13
  180. package/lib/chevre/service/assetTransaction/fixInformAction.js +6 -16
  181. package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +13 -25
  182. package/lib/chevre/service/assetTransaction/moneyTransfer.js +101 -88
  183. package/lib/chevre/service/assetTransaction/pay/cancel.js +3 -12
  184. package/lib/chevre/service/assetTransaction/pay/check.js +4 -14
  185. package/lib/chevre/service/assetTransaction/pay/confirm.js +18 -21
  186. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +4 -13
  187. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +33 -32
  188. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +7 -17
  189. package/lib/chevre/service/assetTransaction/pay/start/account/validation.js +6 -16
  190. package/lib/chevre/service/assetTransaction/pay/start/factory.js +64 -36
  191. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateAcceptedPaymentMethodIfNeeded.js +7 -17
  192. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +6 -16
  193. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +7 -17
  194. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +9 -15
  195. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +3 -12
  196. package/lib/chevre/service/assetTransaction/pay/start.js +29 -35
  197. package/lib/chevre/service/assetTransaction/refund/factory.js +36 -16
  198. package/lib/chevre/service/assetTransaction/refund/potentialActions.js +12 -21
  199. package/lib/chevre/service/assetTransaction/refund.js +35 -39
  200. package/lib/chevre/service/assetTransaction/registerService/factory.js +65 -28
  201. package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +50 -41
  202. package/lib/chevre/service/assetTransaction/registerService.js +45 -52
  203. package/lib/chevre/service/assetTransaction/reserve/cancel.js +5 -14
  204. package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -3
  205. package/lib/chevre/service/assetTransaction/reserve/confirm.js +21 -26
  206. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +3 -12
  207. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +99 -79
  208. package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +17 -12
  209. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +108 -70
  210. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +69 -30
  211. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +29 -20
  212. package/lib/chevre/service/assetTransaction/reserve/start.js +91 -106
  213. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +5 -15
  214. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +41 -54
  215. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +42 -55
  216. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +7 -17
  217. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +15 -27
  218. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +24 -24
  219. package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +12 -4
  220. package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
  221. package/lib/chevre/service/assetTransaction.js +17 -21
  222. package/lib/chevre/service/delivery/factory.js +3 -4
  223. package/lib/chevre/service/delivery/product/factory.js +16 -7
  224. package/lib/chevre/service/delivery/reservation/factory.js +14 -3
  225. package/lib/chevre/service/delivery.js +47 -49
  226. package/lib/chevre/service/event/processUpdateMovieTheater.js +21 -23
  227. package/lib/chevre/service/event/saveScreeningEventSeries.js +56 -37
  228. package/lib/chevre/service/event/saveScreeningEvents.js +14 -23
  229. package/lib/chevre/service/event.js +34 -27
  230. package/lib/chevre/service/iam.js +8 -17
  231. package/lib/chevre/service/moneyTransfer.js +128 -112
  232. package/lib/chevre/service/notification/factory.js +11 -8
  233. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +11 -15
  234. package/lib/chevre/service/notification/notifyByEmail.js +7 -17
  235. package/lib/chevre/service/notification/sendEmailMessage.js +23 -26
  236. package/lib/chevre/service/notification/triggerWebhook.js +58 -54
  237. package/lib/chevre/service/offer/any.js +6 -15
  238. package/lib/chevre/service/offer/event/authorize/factory.js +139 -61
  239. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +8 -18
  240. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +43 -27
  241. package/lib/chevre/service/offer/event/authorize.js +114 -68
  242. package/lib/chevre/service/offer/event/checkAvailability.js +5 -15
  243. package/lib/chevre/service/offer/event/importFromCOA/factory.js +9 -2
  244. package/lib/chevre/service/offer/event/importFromCOA.js +13 -19
  245. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +38 -39
  246. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +26 -38
  247. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +11 -22
  248. package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +13 -24
  249. package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +15 -22
  250. package/lib/chevre/service/offer/event/searchOffersByIds.js +24 -36
  251. package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +5 -14
  252. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +4 -13
  253. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
  254. package/lib/chevre/service/offer/event/voidTransaction.js +35 -39
  255. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +14 -20
  256. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +52 -40
  257. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +5 -1
  258. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +34 -37
  259. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +45 -22
  260. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +67 -59
  261. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +16 -26
  262. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +8 -18
  263. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +42 -41
  264. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +22 -25
  265. package/lib/chevre/service/offer/factory.js +18 -7
  266. package/lib/chevre/service/offer/moneyTransfer/authorize.js +31 -36
  267. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +9 -18
  268. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +10 -19
  269. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +14 -24
  270. package/lib/chevre/service/offer/onEventChanged.js +69 -64
  271. package/lib/chevre/service/offer/product/factory.js +54 -29
  272. package/lib/chevre/service/offer/product/searchProductOffers.js +30 -23
  273. package/lib/chevre/service/offer/product.js +106 -80
  274. package/lib/chevre/service/offer.js +48 -44
  275. package/lib/chevre/service/order/confirmPayTransaction.js +28 -27
  276. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +54 -41
  277. package/lib/chevre/service/order/deleteOrder.js +28 -35
  278. package/lib/chevre/service/order/findPlaceOrderTransaction.js +3 -12
  279. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +64 -68
  280. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +1 -2
  281. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +3 -12
  282. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +11 -6
  283. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +5 -14
  284. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +22 -9
  285. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +5 -14
  286. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +23 -26
  287. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +13 -19
  288. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +5 -14
  289. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +24 -13
  290. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +23 -32
  291. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +8 -18
  292. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +10 -9
  293. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +23 -28
  294. package/lib/chevre/service/order/onOrderUpdated/factory.js +3 -5
  295. package/lib/chevre/service/order/onOrderUpdated.js +13 -15
  296. package/lib/chevre/service/order/payOrder.js +3 -12
  297. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +9 -19
  298. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +31 -15
  299. package/lib/chevre/service/order/placeOrder/factory.js +35 -22
  300. package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +3 -12
  301. package/lib/chevre/service/order/placeOrder.js +12 -22
  302. package/lib/chevre/service/order/placeOrderWithoutTransaction.js +10 -18
  303. package/lib/chevre/service/order/returnOrder.js +27 -29
  304. package/lib/chevre/service/order/sendOrder.js +37 -36
  305. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +19 -25
  306. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +24 -37
  307. package/lib/chevre/service/payment/any/factory.js +106 -49
  308. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +4 -13
  309. package/lib/chevre/service/payment/any/onPayActionCompleted.js +13 -18
  310. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +34 -37
  311. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +18 -24
  312. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +16 -16
  313. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +15 -20
  314. package/lib/chevre/service/payment/any/person2username.js +33 -45
  315. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +8 -18
  316. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +5 -15
  317. package/lib/chevre/service/payment/any.js +181 -137
  318. package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +2 -2
  319. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +44 -24
  320. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +6 -15
  321. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +5 -1
  322. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +10 -2
  323. package/lib/chevre/service/payment/creditCard/authorize.js +20 -22
  324. package/lib/chevre/service/payment/creditCard/factory.js +22 -4
  325. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +8 -18
  326. package/lib/chevre/service/payment/creditCard/payCreditCard.js +31 -36
  327. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +40 -49
  328. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +33 -45
  329. package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -25
  330. package/lib/chevre/service/payment/faceToFace.js +14 -23
  331. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +44 -25
  332. package/lib/chevre/service/payment/factory.js +50 -23
  333. package/lib/chevre/service/payment/movieTicket/authorize.js +35 -28
  334. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +22 -25
  335. package/lib/chevre/service/payment/movieTicket/factory.js +33 -10
  336. package/lib/chevre/service/payment/movieTicket/getCredentials.js +5 -15
  337. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +29 -40
  338. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +8 -18
  339. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +60 -59
  340. package/lib/chevre/service/payment/movieTicket/validation.js +41 -36
  341. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +8 -18
  342. package/lib/chevre/service/payment/paymentCard.js +87 -103
  343. package/lib/chevre/service/permit.js +36 -35
  344. package/lib/chevre/service/product.js +23 -27
  345. package/lib/chevre/service/project.js +22 -31
  346. package/lib/chevre/service/report/ownershipInfo.js +3 -4
  347. package/lib/chevre/service/report/telemetry.js +51 -55
  348. package/lib/chevre/service/reserve/cancelReservation.js +92 -90
  349. package/lib/chevre/service/reserve/checkInReservation.js +24 -29
  350. package/lib/chevre/service/reserve/confirmReservation.js +33 -38
  351. package/lib/chevre/service/reserve/factory.js +42 -20
  352. package/lib/chevre/service/reserve/findByCode.js +13 -18
  353. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +18 -24
  354. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +17 -24
  355. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +38 -29
  356. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +45 -35
  357. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +37 -32
  358. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +17 -23
  359. package/lib/chevre/service/reserve/searchByOrder.js +10 -19
  360. package/lib/chevre/service/reserve/useReservation.js +47 -32
  361. package/lib/chevre/service/reserve/verifyToken4reservation.js +7 -14
  362. package/lib/chevre/service/reserveCOA/cancelReservation.js +7 -16
  363. package/lib/chevre/service/reserveCOA/factory.js +5 -1
  364. package/lib/chevre/service/task/acceptCOAOffer.js +20 -24
  365. package/lib/chevre/service/task/aggregateOffers.js +3 -12
  366. package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
  367. package/lib/chevre/service/task/aggregateScreeningEvent.js +3 -12
  368. package/lib/chevre/service/task/authorizePayment.js +9 -15
  369. package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
  370. package/lib/chevre/service/task/cancelPendingReservation.js +10 -20
  371. package/lib/chevre/service/task/cancelReservation.js +3 -12
  372. package/lib/chevre/service/task/checkMovieTicket.js +16 -19
  373. package/lib/chevre/service/task/checkResource.js +7 -16
  374. package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
  375. package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
  376. package/lib/chevre/service/task/confirmRegisterService.js +3 -12
  377. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +24 -31
  378. package/lib/chevre/service/task/confirmReserveTransaction.js +48 -42
  379. package/lib/chevre/service/task/createAccountingReport.js +14 -20
  380. package/lib/chevre/service/task/deletePerson.js +48 -58
  381. package/lib/chevre/service/task/deleteTransaction.js +3 -12
  382. package/lib/chevre/service/task/givePointAward.js +3 -12
  383. package/lib/chevre/service/task/handleNotification.js +4 -14
  384. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +6 -16
  385. package/lib/chevre/service/task/importEventsFromCOA.js +6 -16
  386. package/lib/chevre/service/task/importOffersFromCOA.js +8 -18
  387. package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
  388. package/lib/chevre/service/task/moneyTransfer.js +3 -12
  389. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
  390. package/lib/chevre/service/task/onAuthorizationCreated.js +11 -18
  391. package/lib/chevre/service/task/onEventChanged.js +3 -12
  392. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
  393. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +7 -16
  394. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +7 -16
  395. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +8 -17
  396. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +10 -19
  397. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +8 -17
  398. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +6 -15
  399. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +14 -23
  400. package/lib/chevre/service/task/onResourceDeleted.js +17 -26
  401. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +9 -21
  402. package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
  403. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +11 -23
  404. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +13 -25
  405. package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +9 -15
  406. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +21 -27
  407. package/lib/chevre/service/task/onResourceUpdated.js +113 -153
  408. package/lib/chevre/service/task/pay.js +8 -16
  409. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +4 -14
  410. package/lib/chevre/service/task/payment/payByTask.js +49 -38
  411. package/lib/chevre/service/task/payment/refundByTask.js +7 -17
  412. package/lib/chevre/service/task/payment/voidPaymentByTask.js +6 -15
  413. package/lib/chevre/service/task/placeOrder.js +6 -12
  414. package/lib/chevre/service/task/publishPaymentUrl.js +9 -14
  415. package/lib/chevre/service/task/refund.js +8 -16
  416. package/lib/chevre/service/task/registerService.js +3 -12
  417. package/lib/chevre/service/task/reserve.js +3 -12
  418. package/lib/chevre/service/task/returnMoneyTransfer.js +3 -12
  419. package/lib/chevre/service/task/returnOrder.js +6 -12
  420. package/lib/chevre/service/task/returnPayTransaction.js +54 -48
  421. package/lib/chevre/service/task/returnPointAward.js +3 -12
  422. package/lib/chevre/service/task/returnReserveTransaction.js +29 -30
  423. package/lib/chevre/service/task/sendEmailMessage.js +6 -13
  424. package/lib/chevre/service/task/sendOrder.js +12 -15
  425. package/lib/chevre/service/task/syncResourcesFromCOA.js +39 -40
  426. package/lib/chevre/service/task/triggerWebhook.js +6 -12
  427. package/lib/chevre/service/task/useReservation.js +11 -14
  428. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
  429. package/lib/chevre/service/task/voidPayTransaction.js +7 -12
  430. package/lib/chevre/service/task/voidPayment.js +3 -12
  431. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
  432. package/lib/chevre/service/task/voidReserveTransaction.js +10 -16
  433. package/lib/chevre/service/task.js +16 -22
  434. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +9 -20
  435. package/lib/chevre/service/taskHandler/onOperationFailed.js +20 -17
  436. package/lib/chevre/service/taskHandler.js +19 -21
  437. package/lib/chevre/service/transaction/deleteTransaction.js +104 -84
  438. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +15 -6
  439. package/lib/chevre/service/transaction/moneyTransfer/factory.js +13 -4
  440. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +12 -24
  441. package/lib/chevre/service/transaction/moneyTransfer.js +119 -96
  442. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +49 -51
  443. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
  444. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +4 -14
  445. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +3 -4
  446. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +3 -4
  447. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +2 -3
  448. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +30 -45
  449. package/lib/chevre/service/transaction/placeOrder/confirm.js +75 -55
  450. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +31 -13
  451. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +6 -15
  452. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +6 -15
  453. package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +7 -16
  454. package/lib/chevre/service/transaction/placeOrder/start/factory.js +27 -7
  455. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +53 -59
  456. package/lib/chevre/service/transaction/placeOrder/start.js +14 -18
  457. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +13 -6
  458. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +176 -190
  459. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +77 -89
  460. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +40 -48
  461. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +52 -56
  462. package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +100 -102
  463. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +60 -80
  464. package/lib/chevre/service/transaction/returnOrder/preStart.js +42 -46
  465. package/lib/chevre/service/transaction/returnOrder.js +32 -36
  466. package/lib/chevre/service/transaction.js +75 -46
  467. package/lib/chevre/service/validation/validateEvent.js +2 -11
  468. package/lib/chevre/service/validation/validateOrder.js +7 -16
  469. package/lib/chevre/service.js +85 -128
  470. package/lib/chevre/settings/aggregation.js +4 -0
  471. package/lib/chevre/settings.js +7 -0
  472. package/package.json +6 -7
  473. package/example/src/chevre/addEventBySchedule.ts +0 -46
  474. package/example/src/idaas/auth0/adminApplications.ts +0 -183
  475. package/example/src/idaas/auth0/getToken.ts +0 -55
  476. package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +0 -84
@@ -1,24 +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
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
19
- }
20
- return t;
21
- };
22
2
  Object.defineProperty(exports, "__esModule", { value: true });
23
3
  exports.ProductRepo = void 0;
24
4
  const mongoose_1 = require("mongoose");
@@ -43,33 +23,33 @@ const AVAILABLE_PROJECT_FIELDS = [
43
23
  * プロダクトリポジトリ
44
24
  */
45
25
  class ProductRepo {
26
+ productModel;
46
27
  constructor(connection) {
47
28
  this.productModel = connection.model(product_1.modelName, (0, product_1.createSchema)());
48
29
  }
49
30
  // tslint:disable-next-line:max-func-body-length
50
31
  static CREATE_MONGO_CONDITIONS(params) {
51
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
52
32
  // MongoDB検索条件
53
33
  const andConditions = [];
54
- const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
34
+ const projectIdEq = params.project?.id?.$eq;
55
35
  if (typeof projectIdEq === 'string') {
56
36
  andConditions.push({
57
37
  'project.id': { $eq: projectIdEq }
58
38
  });
59
39
  }
60
- const typeOfEq = (_c = params.typeOf) === null || _c === void 0 ? void 0 : _c.$eq;
40
+ const typeOfEq = params.typeOf?.$eq;
61
41
  if (typeof typeOfEq === 'string') {
62
42
  andConditions.push({
63
43
  typeOf: { $eq: typeOfEq }
64
44
  });
65
45
  }
66
- const typeOfIn = (_d = params.typeOf) === null || _d === void 0 ? void 0 : _d.$in;
46
+ const typeOfIn = params.typeOf?.$in;
67
47
  if (Array.isArray(typeOfIn)) {
68
48
  andConditions.push({
69
49
  typeOf: { $in: typeOfIn }
70
50
  });
71
51
  }
72
- const hasOfferCatalogIdEq = (_f = (_e = params.hasOfferCatalog) === null || _e === void 0 ? void 0 : _e.id) === null || _f === void 0 ? void 0 : _f.$eq;
52
+ const hasOfferCatalogIdEq = params.hasOfferCatalog?.id?.$eq;
73
53
  if (typeof hasOfferCatalogIdEq === 'string') {
74
54
  // migrate to itemListElement(2024-09-30~)
75
55
  // andConditions.push({
@@ -85,27 +65,27 @@ class ProductRepo {
85
65
  }
86
66
  });
87
67
  }
88
- const idEq = (_g = params.id) === null || _g === void 0 ? void 0 : _g.$eq;
68
+ const idEq = params.id?.$eq;
89
69
  if (typeof idEq === 'string') {
90
70
  andConditions.push({ _id: { $eq: idEq } });
91
71
  }
92
- const idIn = (_h = params.id) === null || _h === void 0 ? void 0 : _h.$in;
72
+ const idIn = params.id?.$in;
93
73
  if (Array.isArray(idIn)) {
94
74
  andConditions.push({ _id: { $in: idIn } });
95
75
  }
96
- const productIDEq = (_j = params.productID) === null || _j === void 0 ? void 0 : _j.$eq;
76
+ const productIDEq = params.productID?.$eq;
97
77
  if (typeof productIDEq === 'string') {
98
78
  andConditions.push({
99
79
  productID: { $eq: productIDEq }
100
80
  });
101
81
  }
102
- const productIDIn = (_k = params.productID) === null || _k === void 0 ? void 0 : _k.$in;
82
+ const productIDIn = params.productID?.$in;
103
83
  if (Array.isArray(productIDIn)) {
104
84
  andConditions.push({
105
85
  productID: { $in: productIDIn }
106
86
  });
107
87
  }
108
- const productIDRegex = (_l = params.productID) === null || _l === void 0 ? void 0 : _l.$regex;
88
+ const productIDRegex = params.productID?.$regex;
109
89
  if (typeof productIDRegex === 'string' && productIDRegex.length > 0) {
110
90
  andConditions.push({
111
91
  productID: { $regex: new RegExp(productIDRegex) }
@@ -120,7 +100,7 @@ class ProductRepo {
120
100
  // }
121
101
  // });
122
102
  // }
123
- const serviceOutputTypeOfEq = (_o = (_m = params.serviceOutput) === null || _m === void 0 ? void 0 : _m.typeOf) === null || _o === void 0 ? void 0 : _o.$eq;
103
+ const serviceOutputTypeOfEq = params.serviceOutput?.typeOf?.$eq;
124
104
  if (typeof serviceOutputTypeOfEq === 'string') {
125
105
  andConditions.push({
126
106
  'serviceOutput.typeOf': {
@@ -129,7 +109,7 @@ class ProductRepo {
129
109
  }
130
110
  });
131
111
  }
132
- const serviceOutputAmountCurrencyEq = (_r = (_q = (_p = params.serviceOutput) === null || _p === void 0 ? void 0 : _p.amount) === null || _q === void 0 ? void 0 : _q.currency) === null || _r === void 0 ? void 0 : _r.$eq;
112
+ const serviceOutputAmountCurrencyEq = params.serviceOutput?.amount?.currency?.$eq;
133
113
  if (typeof serviceOutputAmountCurrencyEq === 'string') {
134
114
  andConditions.push({
135
115
  'serviceOutput.amount.currency': {
@@ -138,7 +118,7 @@ class ProductRepo {
138
118
  }
139
119
  });
140
120
  }
141
- const serviceTypeCodeValueEq = (_t = (_s = params.serviceType) === null || _s === void 0 ? void 0 : _s.codeValue) === null || _t === void 0 ? void 0 : _t.$eq;
121
+ const serviceTypeCodeValueEq = params.serviceType?.codeValue?.$eq;
142
122
  if (typeof serviceTypeCodeValueEq === 'string') {
143
123
  andConditions.push({
144
124
  'serviceType.codeValue': {
@@ -147,7 +127,7 @@ class ProductRepo {
147
127
  }
148
128
  });
149
129
  }
150
- const nameRegex = (_u = params.name) === null || _u === void 0 ? void 0 : _u.$regex;
130
+ const nameRegex = params.name?.$regex;
151
131
  if (typeof nameRegex === 'string' && nameRegex.length > 0) {
152
132
  const nameRegexExp = new RegExp(nameRegex);
153
133
  andConditions.push({
@@ -157,7 +137,7 @@ class ProductRepo {
157
137
  ]
158
138
  });
159
139
  }
160
- const additionalPropertyElemMatchNameEq = (_v = params.additionalPropertyMatch) === null || _v === void 0 ? void 0 : _v.nameEq;
140
+ const additionalPropertyElemMatchNameEq = params.additionalPropertyMatch?.nameEq;
161
141
  if (typeof additionalPropertyElemMatchNameEq === 'string') {
162
142
  andConditions.push({
163
143
  additionalProperty: {
@@ -171,255 +151,241 @@ class ProductRepo {
171
151
  /**
172
152
  * プロダクトを検索する
173
153
  */
174
- projectFields(conditions, inclusion) {
175
- return __awaiter(this, void 0, void 0, function* () {
176
- var _a;
177
- const andConditions = ProductRepo.CREATE_MONGO_CONDITIONS(conditions);
178
- let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
179
- if (Array.isArray(inclusion) && inclusion.length > 0) {
180
- positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
181
- }
182
- else {
183
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
184
- }
185
- const projection = Object.assign({ _id: 0, id: { $toString: '$_id' } }, Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1]))));
186
- const query = this.productModel.find((andConditions.length > 0) ? { $and: andConditions } : {}, projection);
187
- if (typeof conditions.limit === 'number' && conditions.limit > 0) {
188
- const page = (typeof conditions.page === 'number' && conditions.page > 0) ? conditions.page : 1;
189
- query.limit(conditions.limit)
190
- .skip(conditions.limit * (page - 1));
191
- }
192
- // tslint:disable-next-line:no-single-line-block-comment
193
- /* istanbul ignore else */
194
- if (((_a = conditions.sort) === null || _a === void 0 ? void 0 : _a.productID) !== undefined) {
195
- query.sort({ productID: conditions.sort.productID });
196
- }
197
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
198
- .lean() // 2024-08-20~
199
- .exec();
200
- });
154
+ async projectFields(conditions, inclusion) {
155
+ const andConditions = ProductRepo.CREATE_MONGO_CONDITIONS(conditions);
156
+ let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
157
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
158
+ positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
159
+ }
160
+ else {
161
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
162
+ }
163
+ const projection = {
164
+ _id: 0,
165
+ id: { $toString: '$_id' },
166
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
167
+ };
168
+ const query = this.productModel.find((andConditions.length > 0) ? { $and: andConditions } : {}, projection);
169
+ if (typeof conditions.limit === 'number' && conditions.limit > 0) {
170
+ const page = (typeof conditions.page === 'number' && conditions.page > 0) ? conditions.page : 1;
171
+ query.limit(conditions.limit)
172
+ .skip(conditions.limit * (page - 1));
173
+ }
174
+ // tslint:disable-next-line:no-single-line-block-comment
175
+ /* istanbul ignore else */
176
+ if (conditions.sort?.productID !== undefined) {
177
+ query.sort({ productID: conditions.sort.productID });
178
+ }
179
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
180
+ .lean() // 2024-08-20~
181
+ .exec();
201
182
  }
202
183
  /**
203
184
  * カタログを検索する
204
185
  */
205
- aggregateHasOfferCatalog(params) {
206
- return __awaiter(this, void 0, void 0, function* () {
207
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
208
- const matchStages = [{ $match: { _id: { $eq: new mongoose_1.Types.ObjectId(params.id) } } }];
209
- return this.productModel.aggregate([
210
- {
211
- $unwind: {
212
- path: '$hasOfferCatalog.itemListElement'
213
- // includeArrayIndex: 'elementIndex'
214
- }
215
- },
216
- ...matchStages,
217
- {
218
- $project: {
219
- _id: 0,
220
- id: '$hasOfferCatalog.itemListElement.id'
221
- // elementIndex: '$elementIndex'
222
- }
186
+ async aggregateHasOfferCatalog(params) {
187
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
188
+ const matchStages = [{ $match: { _id: { $eq: new mongoose_1.Types.ObjectId(params.id) } } }];
189
+ return this.productModel.aggregate([
190
+ {
191
+ $unwind: {
192
+ path: '$hasOfferCatalog.itemListElement'
193
+ // includeArrayIndex: 'elementIndex'
223
194
  }
224
- ])
225
- .limit(params.limit * page)
226
- .skip(params.limit * (page - 1))
227
- .exec();
228
- });
195
+ },
196
+ ...matchStages,
197
+ {
198
+ $project: {
199
+ _id: 0,
200
+ id: '$hasOfferCatalog.itemListElement.id'
201
+ // elementIndex: '$elementIndex'
202
+ }
203
+ }
204
+ ])
205
+ .limit(params.limit * page)
206
+ .skip(params.limit * (page - 1))
207
+ .exec();
229
208
  }
230
- deleteProductById(params) {
231
- return __awaiter(this, void 0, void 0, function* () {
232
- yield this.productModel.findOneAndDelete({ _id: { $eq: params.id } }, { projection: { _id: 1 } })
233
- .exec();
234
- });
209
+ async deleteProductById(params) {
210
+ await this.productModel.findOneAndDelete({ _id: { $eq: params.id } }, { projection: { _id: 1 } })
211
+ .exec();
235
212
  }
236
213
  /**
237
214
  * プロダクトを保管する
238
215
  */
239
- saveProduct(params) {
240
- return __awaiter(this, void 0, void 0, function* () {
241
- var _a, _b;
242
- let doc;
243
- let savedId;
244
- if (typeof params.id === 'string') {
245
- // 上書き禁止属性を除外
246
- const _c = params.$set, { id, productID, project, typeOf, offers } = _c, setFields = __rest(_c, ["id", "productID", "project", "typeOf", "offers"]);
247
- switch (typeOf) {
248
- case factory.product.ProductType.EventService:
249
- case factory.product.ProductType.MembershipService:
250
- case factory.product.ProductType.PaymentCard:
251
- case factory.product.ProductType.Product:
252
- case factory.product.ProductType.Transportation:
253
- doc = yield this.productModel.findOneAndUpdate({
254
- _id: { $eq: params.id },
255
- typeOf: { $eq: typeOf }
256
- }, {
257
- $set: setFields,
258
- $unset: params.$unset
259
- }, { upsert: false, new: true, projection: { _id: 1, id: { $toString: '$_id' } } })
260
- .lean()
261
- .exec();
262
- if (doc === null) {
263
- throw new factory.errors.NotFound(this.productModel.modelName);
264
- }
265
- break;
266
- default:
267
- throw new factory.errors.NotImplemented(`${typeOf} not implemented`);
268
- }
269
- savedId = params.id;
270
- }
271
- else {
272
- const _d = params.$set, { id } = _d, createParams = __rest(_d, ["id"]);
273
- if (params.createIfNotExist === true) {
274
- doc = yield this.productModel.findOneAndUpdate({
275
- 'project.id': { $eq: createParams.project.id },
276
- typeOf: { $eq: createParams.typeOf }
277
- }, { $setOnInsert: createParams }, { new: true, upsert: true, projection: { _id: 1, id: { $toString: '$_id' } } })
216
+ async saveProduct(params) {
217
+ let doc;
218
+ let savedId;
219
+ if (typeof params.id === 'string') {
220
+ // 上書き禁止属性を除外
221
+ const { id, productID, project, typeOf, offers, ...setFields } = params.$set;
222
+ switch (typeOf) {
223
+ case factory.product.ProductType.EventService:
224
+ case factory.product.ProductType.MembershipService:
225
+ case factory.product.ProductType.PaymentCard:
226
+ case factory.product.ProductType.Product:
227
+ case factory.product.ProductType.Transportation:
228
+ doc = await this.productModel.findOneAndUpdate({
229
+ _id: { $eq: params.id },
230
+ typeOf: { $eq: typeOf }
231
+ }, {
232
+ $set: setFields,
233
+ $unset: params.$unset
234
+ }, { upsert: false, new: true, projection: { _id: 1, id: { $toString: '$_id' } } })
278
235
  .lean()
279
236
  .exec();
280
237
  if (doc === null) {
281
238
  throw new factory.errors.NotFound(this.productModel.modelName);
282
239
  }
283
- savedId = doc.id;
240
+ break;
241
+ default:
242
+ throw new factory.errors.NotImplemented(`${typeOf} not implemented`);
243
+ }
244
+ savedId = params.id;
245
+ }
246
+ else {
247
+ const { id, ...createParams } = params.$set;
248
+ if (params.createIfNotExist === true) {
249
+ doc = await this.productModel.findOneAndUpdate({
250
+ 'project.id': { $eq: createParams.project.id },
251
+ typeOf: { $eq: createParams.typeOf }
252
+ }, { $setOnInsert: createParams }, { new: true, upsert: true, projection: { _id: 1, id: { $toString: '$_id' } } })
253
+ .lean()
254
+ .exec();
255
+ if (doc === null) {
256
+ throw new factory.errors.NotFound(this.productModel.modelName);
284
257
  }
285
- else {
286
- // doc = await this.productModel.create(createParams);
287
- const result = yield this.productModel.insertMany(createParams, { rawResult: true });
288
- const insertedId = (_b = (_a = result.insertedIds) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.toHexString();
289
- if (typeof insertedId !== 'string') {
290
- throw new factory.errors.Internal(`product not saved unexpectedly. result:${JSON.stringify(result)}`);
291
- }
292
- savedId = insertedId;
258
+ savedId = doc.id;
259
+ }
260
+ else {
261
+ // doc = await this.productModel.create(createParams);
262
+ const result = await this.productModel.insertMany(createParams, { rawResult: true });
263
+ const insertedId = result.insertedIds?.[0]?.toHexString();
264
+ if (typeof insertedId !== 'string') {
265
+ throw new factory.errors.Internal(`product not saved unexpectedly. result:${JSON.stringify(result)}`);
293
266
  }
267
+ savedId = insertedId;
294
268
  }
295
- return { id: savedId };
296
- });
269
+ }
270
+ return { id: savedId };
297
271
  }
298
272
  /**
299
273
  * プロダクトコードをキーにして冪等置換
300
274
  */
301
- upsertManyByProductId(params
275
+ async upsertManyByProductId(params
302
276
  // options?: {
303
277
  // }
304
278
  ) {
305
- return __awaiter(this, void 0, void 0, function* () {
306
- const bulkWriteOps = [];
307
- const queryFilters = [];
308
- if (Array.isArray(params)) {
309
- params.forEach(({ $set, $unset }) => {
310
- const { id, productID, project, typeOf, offers } = $set, setFields = __rest($set, ["id", "productID", "project", "typeOf", "offers"]);
311
- if (typeof productID !== 'string' || productID.length === 0) {
312
- throw new factory.errors.ArgumentNull('productID');
313
- }
314
- // リソースのユニークネスを保証するfilter
315
- const filter = {
316
- 'project.id': { $eq: project.id },
317
- productID: { $eq: productID }
318
- };
319
- queryFilters.push({
320
- 'project.id': { $eq: project.id },
321
- productID: { $eq: productID }
322
- });
323
- const setOnInsert = {
324
- productID,
325
- project,
326
- typeOf
327
- };
328
- const updateOne = {
329
- filter,
330
- update: Object.assign({ $setOnInsert: setOnInsert, $set: setFields }, ($unset !== undefined) ? { $unset } : undefined),
331
- upsert: true
332
- };
333
- bulkWriteOps.push({ updateOne });
279
+ const bulkWriteOps = [];
280
+ const queryFilters = [];
281
+ if (Array.isArray(params)) {
282
+ params.forEach(({ $set, $unset }) => {
283
+ const { id, productID, project, typeOf, offers, ...setFields } = $set;
284
+ if (typeof productID !== 'string' || productID.length === 0) {
285
+ throw new factory.errors.ArgumentNull('productID');
286
+ }
287
+ // リソースのユニークネスを保証するfilter
288
+ const filter = {
289
+ 'project.id': { $eq: project.id },
290
+ productID: { $eq: productID }
291
+ };
292
+ queryFilters.push({
293
+ 'project.id': { $eq: project.id },
294
+ productID: { $eq: productID }
334
295
  });
335
- }
336
- if (bulkWriteOps.length > 0) {
337
- const bulkWriteResult = yield this.productModel.bulkWrite(bulkWriteOps, { ordered: false });
338
- // modifiedの場合upsertedIdsに含まれないので、idを検索する
339
- const modifiedProducts = yield this.productModel.find({ $or: queryFilters }, { _id: 1 })
340
- .exec();
341
- return { bulkWriteResult, modifiedProducts };
342
- }
343
- });
296
+ const setOnInsert = {
297
+ productID,
298
+ project,
299
+ typeOf
300
+ };
301
+ const updateOne = {
302
+ filter,
303
+ update: {
304
+ $setOnInsert: setOnInsert,
305
+ $set: setFields,
306
+ ...($unset !== undefined) ? { $unset } : undefined
307
+ },
308
+ upsert: true
309
+ };
310
+ bulkWriteOps.push({ updateOne });
311
+ });
312
+ }
313
+ if (bulkWriteOps.length > 0) {
314
+ const bulkWriteResult = await this.productModel.bulkWrite(bulkWriteOps, { ordered: false });
315
+ // modifiedの場合upsertedIdsに含まれないので、idを検索する
316
+ const modifiedProducts = await this.productModel.find({ $or: queryFilters }, { _id: 1 })
317
+ .exec();
318
+ return { bulkWriteResult, modifiedProducts };
319
+ }
344
320
  }
345
321
  /**
346
322
  * プロダクトIDからavailableChannelを取得する
347
323
  */
348
- findAvailableChannel(params) {
349
- return __awaiter(this, void 0, void 0, function* () {
350
- const paymentService = (yield this.projectFields({
351
- limit: 1,
352
- page: 1,
353
- project: { id: { $eq: params.project.id } },
354
- typeOf: { $eq: factory.product.ProductType.PaymentCard },
355
- id: { $eq: params.id }
356
- }, ['availableChannel']
357
- // []
358
- )).shift();
359
- if (paymentService === undefined) {
360
- throw new factory.errors.NotFound('PaymentService');
361
- }
362
- const availableChannel = paymentService.availableChannel;
363
- if (availableChannel === undefined) {
364
- throw new factory.errors.NotFound('paymentService.availableChannel');
365
- }
366
- return availableChannel;
367
- });
324
+ async findAvailableChannel(params) {
325
+ const paymentService = (await this.projectFields({
326
+ limit: 1,
327
+ page: 1,
328
+ project: { id: { $eq: params.project.id } },
329
+ typeOf: { $eq: factory.product.ProductType.PaymentCard },
330
+ id: { $eq: params.id }
331
+ }, ['availableChannel']
332
+ // []
333
+ )).shift();
334
+ if (paymentService === undefined) {
335
+ throw new factory.errors.NotFound('PaymentService');
336
+ }
337
+ const availableChannel = paymentService.availableChannel;
338
+ if (availableChannel === undefined) {
339
+ throw new factory.errors.NotFound('paymentService.availableChannel');
340
+ }
341
+ return availableChannel;
368
342
  }
369
343
  /**
370
344
  * 指定カタログの設定されたプロダクトを削除する
371
345
  */
372
- deleteByHasOfferCatalog(params) {
373
- return __awaiter(this, void 0, void 0, function* () {
374
- return this.productModel.deleteMany({
375
- 'project.id': { $eq: params.project.id },
376
- // 'hasOfferCatalog.id': { $exists: true, $eq: params.hasOfferCatalog.id } // migrate to itemListElement(2024-09-30~)
377
- 'hasOfferCatalog.itemListElement.id': { $exists: true, $eq: params.hasOfferCatalog.id }
378
- })
379
- .exec();
380
- });
346
+ async deleteByHasOfferCatalog(params) {
347
+ return this.productModel.deleteMany({
348
+ 'project.id': { $eq: params.project.id },
349
+ // 'hasOfferCatalog.id': { $exists: true, $eq: params.hasOfferCatalog.id } // migrate to itemListElement(2024-09-30~)
350
+ 'hasOfferCatalog.itemListElement.id': { $exists: true, $eq: params.hasOfferCatalog.id }
351
+ })
352
+ .exec();
381
353
  }
382
354
  /**
383
355
  * プロジェクト指定で削除する
384
356
  */
385
- deleteByProject(params) {
386
- return __awaiter(this, void 0, void 0, function* () {
387
- yield this.productModel.deleteMany({
388
- 'project.id': {
389
- $eq: params.project.id
390
- }
391
- })
392
- .exec();
393
- });
357
+ async deleteByProject(params) {
358
+ await this.productModel.deleteMany({
359
+ 'project.id': {
360
+ $eq: params.project.id
361
+ }
362
+ })
363
+ .exec();
394
364
  }
395
365
  getCursor(conditions, projection) {
396
366
  return this.productModel.find(conditions, projection)
397
367
  .sort({ productID: factory.sortType.Ascending })
398
368
  .cursor();
399
369
  }
400
- unsetUnnecessaryFields(params) {
401
- return __awaiter(this, void 0, void 0, function* () {
402
- return this.productModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
403
- .exec();
404
- });
370
+ async unsetUnnecessaryFields(params) {
371
+ return this.productModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
372
+ .exec();
405
373
  }
406
- migrateHasOfferCatalogItemListElement(params) {
407
- return __awaiter(this, void 0, void 0, function* () {
408
- const offerCatalogItems = [{ id: params.hasOfferCatalog.id }];
409
- const doc = yield this.productModel.findOneAndUpdate({
410
- _id: { $eq: params.id },
411
- 'hasOfferCatalog.id': { $exists: true, $eq: params.hasOfferCatalog.id }
412
- }, {
413
- $set: {
414
- 'hasOfferCatalog.itemListElement': offerCatalogItems
415
- }
416
- }, { upsert: false, new: true, projection: { _id: 1, id: { $toString: '$_id' } } })
417
- .lean()
418
- .exec();
419
- if (doc === null) {
420
- throw new factory.errors.NotFound(this.productModel.modelName);
374
+ async migrateHasOfferCatalogItemListElement(params) {
375
+ const offerCatalogItems = [{ id: params.hasOfferCatalog.id }];
376
+ const doc = await this.productModel.findOneAndUpdate({
377
+ _id: { $eq: params.id },
378
+ 'hasOfferCatalog.id': { $exists: true, $eq: params.hasOfferCatalog.id }
379
+ }, {
380
+ $set: {
381
+ 'hasOfferCatalog.itemListElement': offerCatalogItems
421
382
  }
422
- });
383
+ }, { upsert: false, new: true, projection: { _id: 1, id: { $toString: '$_id' } } })
384
+ .lean()
385
+ .exec();
386
+ if (doc === null) {
387
+ throw new factory.errors.NotFound(this.productModel.modelName);
388
+ }
423
389
  }
424
390
  }
425
391
  exports.ProductRepo = ProductRepo;