@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,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,32 @@ 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
- // tslint:disable-next-line:max-func-body-length
50
30
  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
31
  // MongoDB検索条件
53
32
  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;
33
+ const projectIdEq = params.project?.id?.$eq;
55
34
  if (typeof projectIdEq === 'string') {
56
35
  andConditions.push({
57
36
  'project.id': { $eq: projectIdEq }
58
37
  });
59
38
  }
60
- const typeOfEq = (_c = params.typeOf) === null || _c === void 0 ? void 0 : _c.$eq;
39
+ const typeOfEq = params.typeOf?.$eq;
61
40
  if (typeof typeOfEq === 'string') {
62
41
  andConditions.push({
63
42
  typeOf: { $eq: typeOfEq }
64
43
  });
65
44
  }
66
- const typeOfIn = (_d = params.typeOf) === null || _d === void 0 ? void 0 : _d.$in;
45
+ const typeOfIn = params.typeOf?.$in;
67
46
  if (Array.isArray(typeOfIn)) {
68
47
  andConditions.push({
69
48
  typeOf: { $in: typeOfIn }
70
49
  });
71
50
  }
72
- const hasOfferCatalogIdEq = (_f = (_e = params.hasOfferCatalog) === null || _e === void 0 ? void 0 : _e.id) === null || _f === void 0 ? void 0 : _f.$eq;
51
+ const hasOfferCatalogIdEq = params.hasOfferCatalog?.id?.$eq;
73
52
  if (typeof hasOfferCatalogIdEq === 'string') {
74
53
  // migrate to itemListElement(2024-09-30~)
75
54
  // andConditions.push({
@@ -85,27 +64,27 @@ class ProductRepo {
85
64
  }
86
65
  });
87
66
  }
88
- const idEq = (_g = params.id) === null || _g === void 0 ? void 0 : _g.$eq;
67
+ const idEq = params.id?.$eq;
89
68
  if (typeof idEq === 'string') {
90
69
  andConditions.push({ _id: { $eq: idEq } });
91
70
  }
92
- const idIn = (_h = params.id) === null || _h === void 0 ? void 0 : _h.$in;
71
+ const idIn = params.id?.$in;
93
72
  if (Array.isArray(idIn)) {
94
73
  andConditions.push({ _id: { $in: idIn } });
95
74
  }
96
- const productIDEq = (_j = params.productID) === null || _j === void 0 ? void 0 : _j.$eq;
75
+ const productIDEq = params.productID?.$eq;
97
76
  if (typeof productIDEq === 'string') {
98
77
  andConditions.push({
99
78
  productID: { $eq: productIDEq }
100
79
  });
101
80
  }
102
- const productIDIn = (_k = params.productID) === null || _k === void 0 ? void 0 : _k.$in;
81
+ const productIDIn = params.productID?.$in;
103
82
  if (Array.isArray(productIDIn)) {
104
83
  andConditions.push({
105
84
  productID: { $in: productIDIn }
106
85
  });
107
86
  }
108
- const productIDRegex = (_l = params.productID) === null || _l === void 0 ? void 0 : _l.$regex;
87
+ const productIDRegex = params.productID?.$regex;
109
88
  if (typeof productIDRegex === 'string' && productIDRegex.length > 0) {
110
89
  andConditions.push({
111
90
  productID: { $regex: new RegExp(productIDRegex) }
@@ -120,7 +99,7 @@ class ProductRepo {
120
99
  // }
121
100
  // });
122
101
  // }
123
- const serviceOutputTypeOfEq = (_o = (_m = params.serviceOutput) === null || _m === void 0 ? void 0 : _m.typeOf) === null || _o === void 0 ? void 0 : _o.$eq;
102
+ const serviceOutputTypeOfEq = params.serviceOutput?.typeOf?.$eq;
124
103
  if (typeof serviceOutputTypeOfEq === 'string') {
125
104
  andConditions.push({
126
105
  'serviceOutput.typeOf': {
@@ -129,7 +108,7 @@ class ProductRepo {
129
108
  }
130
109
  });
131
110
  }
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;
111
+ const serviceOutputAmountCurrencyEq = params.serviceOutput?.amount?.currency?.$eq;
133
112
  if (typeof serviceOutputAmountCurrencyEq === 'string') {
134
113
  andConditions.push({
135
114
  'serviceOutput.amount.currency': {
@@ -138,7 +117,7 @@ class ProductRepo {
138
117
  }
139
118
  });
140
119
  }
141
- const serviceTypeCodeValueEq = (_t = (_s = params.serviceType) === null || _s === void 0 ? void 0 : _s.codeValue) === null || _t === void 0 ? void 0 : _t.$eq;
120
+ const serviceTypeCodeValueEq = params.serviceType?.codeValue?.$eq;
142
121
  if (typeof serviceTypeCodeValueEq === 'string') {
143
122
  andConditions.push({
144
123
  'serviceType.codeValue': {
@@ -147,7 +126,7 @@ class ProductRepo {
147
126
  }
148
127
  });
149
128
  }
150
- const nameRegex = (_u = params.name) === null || _u === void 0 ? void 0 : _u.$regex;
129
+ const nameRegex = params.name?.$regex;
151
130
  if (typeof nameRegex === 'string' && nameRegex.length > 0) {
152
131
  const nameRegexExp = new RegExp(nameRegex);
153
132
  andConditions.push({
@@ -157,7 +136,7 @@ class ProductRepo {
157
136
  ]
158
137
  });
159
138
  }
160
- const additionalPropertyElemMatchNameEq = (_v = params.additionalPropertyMatch) === null || _v === void 0 ? void 0 : _v.nameEq;
139
+ const additionalPropertyElemMatchNameEq = params.additionalPropertyMatch?.nameEq;
161
140
  if (typeof additionalPropertyElemMatchNameEq === 'string') {
162
141
  andConditions.push({
163
142
  additionalProperty: {
@@ -171,255 +150,240 @@ class ProductRepo {
171
150
  /**
172
151
  * プロダクトを検索する
173
152
  */
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
- });
153
+ async projectFields(conditions, inclusion) {
154
+ const andConditions = ProductRepo.CREATE_MONGO_CONDITIONS(conditions);
155
+ let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
156
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
157
+ positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
158
+ }
159
+ else {
160
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
161
+ }
162
+ const projection = {
163
+ _id: 0,
164
+ id: { $toString: '$_id' },
165
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
166
+ };
167
+ const query = this.productModel.find((andConditions.length > 0) ? { $and: andConditions } : {}, projection);
168
+ if (typeof conditions.limit === 'number' && conditions.limit > 0) {
169
+ const page = (typeof conditions.page === 'number' && conditions.page > 0) ? conditions.page : 1;
170
+ query.limit(conditions.limit)
171
+ .skip(conditions.limit * (page - 1));
172
+ }
173
+ /* istanbul ignore else */
174
+ if (conditions.sort?.productID !== undefined) {
175
+ query.sort({ productID: conditions.sort.productID });
176
+ }
177
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
178
+ .lean() // 2024-08-20~
179
+ .exec();
201
180
  }
202
181
  /**
203
182
  * カタログを検索する
204
183
  */
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
- }
184
+ async aggregateHasOfferCatalog(params) {
185
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
186
+ const matchStages = [{ $match: { _id: { $eq: new mongoose_1.Types.ObjectId(params.id) } } }];
187
+ return this.productModel.aggregate([
188
+ {
189
+ $unwind: {
190
+ path: '$hasOfferCatalog.itemListElement'
191
+ // includeArrayIndex: 'elementIndex'
223
192
  }
224
- ])
225
- .limit(params.limit * page)
226
- .skip(params.limit * (page - 1))
227
- .exec();
228
- });
193
+ },
194
+ ...matchStages,
195
+ {
196
+ $project: {
197
+ _id: 0,
198
+ id: '$hasOfferCatalog.itemListElement.id'
199
+ // elementIndex: '$elementIndex'
200
+ }
201
+ }
202
+ ])
203
+ .limit(params.limit * page)
204
+ .skip(params.limit * (page - 1))
205
+ .exec();
229
206
  }
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
- });
207
+ async deleteProductById(params) {
208
+ await this.productModel.findOneAndDelete({ _id: { $eq: params.id } }, { projection: { _id: 1 } })
209
+ .exec();
235
210
  }
236
211
  /**
237
212
  * プロダクトを保管する
238
213
  */
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' } } })
214
+ async saveProduct(params) {
215
+ let doc;
216
+ let savedId;
217
+ if (typeof params.id === 'string') {
218
+ // 上書き禁止属性を除外
219
+ const { id, productID, project, typeOf, offers, ...setFields } = params.$set;
220
+ switch (typeOf) {
221
+ case factory.product.ProductType.EventService:
222
+ case factory.product.ProductType.MembershipService:
223
+ case factory.product.ProductType.PaymentCard:
224
+ case factory.product.ProductType.Product:
225
+ case factory.product.ProductType.Transportation:
226
+ doc = await this.productModel.findOneAndUpdate({
227
+ _id: { $eq: params.id },
228
+ typeOf: { $eq: typeOf }
229
+ }, {
230
+ $set: setFields,
231
+ $unset: params.$unset
232
+ }, { upsert: false, new: true, projection: { _id: 1, id: { $toString: '$_id' } } })
278
233
  .lean()
279
234
  .exec();
280
235
  if (doc === null) {
281
236
  throw new factory.errors.NotFound(this.productModel.modelName);
282
237
  }
283
- savedId = doc.id;
238
+ break;
239
+ default:
240
+ throw new factory.errors.NotImplemented(`${typeOf} not implemented`);
241
+ }
242
+ savedId = params.id;
243
+ }
244
+ else {
245
+ const { id, ...createParams } = params.$set;
246
+ if (params.createIfNotExist === true) {
247
+ doc = await this.productModel.findOneAndUpdate({
248
+ 'project.id': { $eq: createParams.project.id },
249
+ typeOf: { $eq: createParams.typeOf }
250
+ }, { $setOnInsert: createParams }, { new: true, upsert: true, projection: { _id: 1, id: { $toString: '$_id' } } })
251
+ .lean()
252
+ .exec();
253
+ if (doc === null) {
254
+ throw new factory.errors.NotFound(this.productModel.modelName);
284
255
  }
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;
256
+ savedId = doc.id;
257
+ }
258
+ else {
259
+ // doc = await this.productModel.create(createParams);
260
+ const result = await this.productModel.insertMany(createParams, { rawResult: true });
261
+ const insertedId = result.insertedIds?.[0]?.toHexString();
262
+ if (typeof insertedId !== 'string') {
263
+ throw new factory.errors.Internal(`product not saved unexpectedly. result:${JSON.stringify(result)}`);
293
264
  }
265
+ savedId = insertedId;
294
266
  }
295
- return { id: savedId };
296
- });
267
+ }
268
+ return { id: savedId };
297
269
  }
298
270
  /**
299
271
  * プロダクトコードをキーにして冪等置換
300
272
  */
301
- upsertManyByProductId(params
273
+ async upsertManyByProductId(params
302
274
  // options?: {
303
275
  // }
304
276
  ) {
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 });
277
+ const bulkWriteOps = [];
278
+ const queryFilters = [];
279
+ if (Array.isArray(params)) {
280
+ params.forEach(({ $set, $unset }) => {
281
+ const { id, productID, project, typeOf, offers, ...setFields } = $set;
282
+ if (typeof productID !== 'string' || productID.length === 0) {
283
+ throw new factory.errors.ArgumentNull('productID');
284
+ }
285
+ // リソースのユニークネスを保証するfilter
286
+ const filter = {
287
+ 'project.id': { $eq: project.id },
288
+ productID: { $eq: productID }
289
+ };
290
+ queryFilters.push({
291
+ 'project.id': { $eq: project.id },
292
+ productID: { $eq: productID }
334
293
  });
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
- });
294
+ const setOnInsert = {
295
+ productID,
296
+ project,
297
+ typeOf
298
+ };
299
+ const updateOne = {
300
+ filter,
301
+ update: {
302
+ $setOnInsert: setOnInsert,
303
+ $set: setFields,
304
+ ...($unset !== undefined) ? { $unset } : undefined
305
+ },
306
+ upsert: true
307
+ };
308
+ bulkWriteOps.push({ updateOne });
309
+ });
310
+ }
311
+ if (bulkWriteOps.length > 0) {
312
+ const bulkWriteResult = await this.productModel.bulkWrite(bulkWriteOps, { ordered: false });
313
+ // modifiedの場合upsertedIdsに含まれないので、idを検索する
314
+ const modifiedProducts = await this.productModel.find({ $or: queryFilters }, { _id: 1 })
315
+ .exec();
316
+ return { bulkWriteResult, modifiedProducts };
317
+ }
344
318
  }
345
319
  /**
346
320
  * プロダクトIDからavailableChannelを取得する
347
321
  */
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
- });
322
+ async findAvailableChannel(params) {
323
+ const paymentService = (await this.projectFields({
324
+ limit: 1,
325
+ page: 1,
326
+ project: { id: { $eq: params.project.id } },
327
+ typeOf: { $eq: factory.product.ProductType.PaymentCard },
328
+ id: { $eq: params.id }
329
+ }, ['availableChannel']
330
+ // []
331
+ )).shift();
332
+ if (paymentService === undefined) {
333
+ throw new factory.errors.NotFound('PaymentService');
334
+ }
335
+ const availableChannel = paymentService.availableChannel;
336
+ if (availableChannel === undefined) {
337
+ throw new factory.errors.NotFound('paymentService.availableChannel');
338
+ }
339
+ return availableChannel;
368
340
  }
369
341
  /**
370
342
  * 指定カタログの設定されたプロダクトを削除する
371
343
  */
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
- });
344
+ async deleteByHasOfferCatalog(params) {
345
+ return this.productModel.deleteMany({
346
+ 'project.id': { $eq: params.project.id },
347
+ // 'hasOfferCatalog.id': { $exists: true, $eq: params.hasOfferCatalog.id } // migrate to itemListElement(2024-09-30~)
348
+ 'hasOfferCatalog.itemListElement.id': { $exists: true, $eq: params.hasOfferCatalog.id }
349
+ })
350
+ .exec();
381
351
  }
382
352
  /**
383
353
  * プロジェクト指定で削除する
384
354
  */
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
- });
355
+ async deleteByProject(params) {
356
+ await this.productModel.deleteMany({
357
+ 'project.id': {
358
+ $eq: params.project.id
359
+ }
360
+ })
361
+ .exec();
394
362
  }
395
363
  getCursor(conditions, projection) {
396
364
  return this.productModel.find(conditions, projection)
397
365
  .sort({ productID: factory.sortType.Ascending })
398
366
  .cursor();
399
367
  }
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
- });
368
+ async unsetUnnecessaryFields(params) {
369
+ return this.productModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
370
+ .exec();
405
371
  }
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);
372
+ async migrateHasOfferCatalogItemListElement(params) {
373
+ const offerCatalogItems = [{ id: params.hasOfferCatalog.id }];
374
+ const doc = await this.productModel.findOneAndUpdate({
375
+ _id: { $eq: params.id },
376
+ 'hasOfferCatalog.id': { $exists: true, $eq: params.hasOfferCatalog.id }
377
+ }, {
378
+ $set: {
379
+ 'hasOfferCatalog.itemListElement': offerCatalogItems
421
380
  }
422
- });
381
+ }, { upsert: false, new: true, projection: { _id: 1, id: { $toString: '$_id' } } })
382
+ .lean()
383
+ .exec();
384
+ if (doc === null) {
385
+ throw new factory.errors.NotFound(this.productModel.modelName);
386
+ }
423
387
  }
424
388
  }
425
389
  exports.ProductRepo = ProductRepo;