@chevre/domain 23.2.0-alpha.60 → 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 (513) 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 +3 -1
  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 +21 -33
  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.d.ts +0 -15
  35. package/lib/chevre/repo/event.js +720 -744
  36. package/lib/chevre/repo/eventOffer.js +122 -125
  37. package/lib/chevre/repo/eventSellerMakesOffer.js +64 -76
  38. package/lib/chevre/repo/eventSeries.d.ts +1 -7
  39. package/lib/chevre/repo/eventSeries.js +258 -277
  40. package/lib/chevre/repo/identity.js +94 -106
  41. package/lib/chevre/repo/identityProvider.js +72 -95
  42. package/lib/chevre/repo/issuer.js +102 -135
  43. package/lib/chevre/repo/member.js +238 -258
  44. package/lib/chevre/repo/memberProgram.js +157 -177
  45. package/lib/chevre/repo/merchantReturnPolicy.js +62 -93
  46. package/lib/chevre/repo/message.js +122 -135
  47. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
  48. package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
  49. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
  50. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  51. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
  52. package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
  53. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
  54. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
  55. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
  56. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
  57. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
  58. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -1
  59. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
  60. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
  61. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  62. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
  63. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
  64. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
  65. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
  66. package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
  67. package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
  68. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
  69. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +41 -14
  70. package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
  71. package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
  72. package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
  73. package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
  74. package/lib/chevre/repo/mongoose/schemas/member.js +1 -1
  75. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
  76. package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
  77. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
  78. package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
  79. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +1 -1
  80. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +1 -1
  81. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
  82. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  83. package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
  84. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
  85. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
  87. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  88. package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
  89. package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
  90. package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
  91. package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
  92. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  93. package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
  94. package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
  95. package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
  96. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
  97. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
  98. package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
  99. package/lib/chevre/repo/mongoose/schemas/setting.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/task.js +1 -1
  101. package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
  102. package/lib/chevre/repo/mongoose/schemas/transaction.js +1 -1
  103. package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
  104. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
  105. package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
  106. package/lib/chevre/repo/movieTicketType.js +68 -89
  107. package/lib/chevre/repo/note.js +143 -146
  108. package/lib/chevre/repo/noteAboutOrder.js +112 -113
  109. package/lib/chevre/repo/offer/unitPriceInCatalog.js +331 -313
  110. package/lib/chevre/repo/offerCatalog.js +302 -333
  111. package/lib/chevre/repo/offerCatalogItem.js +289 -316
  112. package/lib/chevre/repo/offerItemCondition.js +60 -85
  113. package/lib/chevre/repo/order.js +563 -572
  114. package/lib/chevre/repo/orderInTransaction.js +113 -136
  115. package/lib/chevre/repo/orderNumber.d.ts +0 -1
  116. package/lib/chevre/repo/orderNumber.js +108 -122
  117. package/lib/chevre/repo/ownershipInfo.js +213 -233
  118. package/lib/chevre/repo/passport.js +94 -102
  119. package/lib/chevre/repo/paymentMethod/creditCard.js +153 -169
  120. package/lib/chevre/repo/paymentService.js +180 -199
  121. package/lib/chevre/repo/paymentServiceChannel.js +76 -99
  122. package/lib/chevre/repo/paymentServiceProvider.js +186 -201
  123. package/lib/chevre/repo/pendingReservation.js +275 -305
  124. package/lib/chevre/repo/permit.js +47 -42
  125. package/lib/chevre/repo/person.js +227 -247
  126. package/lib/chevre/repo/place/busStop.js +77 -103
  127. package/lib/chevre/repo/place/entranceGate.js +123 -128
  128. package/lib/chevre/repo/place/hasPOS.js +108 -120
  129. package/lib/chevre/repo/place/movieTheater.js +187 -219
  130. package/lib/chevre/repo/place/screeningRoom.js +340 -324
  131. package/lib/chevre/repo/place/seat.js +539 -475
  132. package/lib/chevre/repo/place/section.js +329 -292
  133. package/lib/chevre/repo/potentialAction.js +67 -86
  134. package/lib/chevre/repo/priceSpecification.js +103 -141
  135. package/lib/chevre/repo/product.js +204 -238
  136. package/lib/chevre/repo/productHasOfferCatalog.js +39 -50
  137. package/lib/chevre/repo/productModel.js +94 -126
  138. package/lib/chevre/repo/productOffer.js +119 -118
  139. package/lib/chevre/repo/project.js +123 -141
  140. package/lib/chevre/repo/projectMakesOffer.js +96 -108
  141. package/lib/chevre/repo/rateLimit/offer.js +43 -56
  142. package/lib/chevre/repo/reservation.js +370 -345
  143. package/lib/chevre/repo/reserveInterface.js +31 -42
  144. package/lib/chevre/repo/role.js +94 -112
  145. package/lib/chevre/repo/schedule.js +25 -36
  146. package/lib/chevre/repo/seller.js +115 -145
  147. package/lib/chevre/repo/sellerMakesOffer.js +95 -110
  148. package/lib/chevre/repo/sellerPaymentAccepted.js +92 -109
  149. package/lib/chevre/repo/sellerReturnPolicy.js +74 -96
  150. package/lib/chevre/repo/service/availableHour.js +27 -38
  151. package/lib/chevre/repo/serviceOutput.js +55 -66
  152. package/lib/chevre/repo/serviceOutputIdentifier.js +46 -57
  153. package/lib/chevre/repo/setting/jwt.js +40 -50
  154. package/lib/chevre/repo/setting.js +48 -48
  155. package/lib/chevre/repo/stockHolder.js +179 -197
  156. package/lib/chevre/repo/task.d.ts +1 -1
  157. package/lib/chevre/repo/task.js +615 -617
  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 +758 -795
  161. package/lib/chevre/repo/transactionNumber.js +67 -80
  162. package/lib/chevre/repo/transactionNumberCounter.js +69 -79
  163. package/lib/chevre/repo/transactionProcess.js +36 -47
  164. package/lib/chevre/repo/trip.js +145 -163
  165. package/lib/chevre/repo/webSite.js +90 -105
  166. package/lib/chevre/repository.js +455 -646
  167. package/lib/chevre/service/account.js +9 -18
  168. package/lib/chevre/service/accountTransaction/deposit.js +16 -17
  169. package/lib/chevre/service/accountTransaction/transfer.js +18 -19
  170. package/lib/chevre/service/accountTransaction/withdraw.js +16 -17
  171. package/lib/chevre/service/accountTransaction.js +4 -13
  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 -13
  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 -23
  180. package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +17 -15
  181. package/lib/chevre/service/assetTransaction/cancelReservation.js +7 -16
  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.d.ts +3 -0
  185. package/lib/chevre/service/assetTransaction/fixInformAction.js +9 -16
  186. package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +13 -25
  187. package/lib/chevre/service/assetTransaction/moneyTransfer.js +101 -88
  188. package/lib/chevre/service/assetTransaction/pay/cancel.d.ts +12 -0
  189. package/lib/chevre/service/assetTransaction/pay/cancel.js +16 -0
  190. package/lib/chevre/service/assetTransaction/pay/check.d.ts +23 -0
  191. package/lib/chevre/service/assetTransaction/pay/check.js +27 -0
  192. package/lib/chevre/service/assetTransaction/pay/confirm.d.ts +24 -0
  193. package/lib/chevre/service/assetTransaction/pay/confirm.js +69 -0
  194. package/lib/chevre/service/assetTransaction/pay/exportTasksById.d.ts +18 -0
  195. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +102 -0
  196. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +48 -0
  197. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +165 -0
  198. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +20 -0
  199. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +49 -0
  200. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.d.ts +2 -2
  201. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.js +7 -17
  202. package/lib/chevre/service/assetTransaction/pay/{factory.d.ts → start/factory.d.ts} +1 -1
  203. package/lib/chevre/service/assetTransaction/pay/{factory.js → start/factory.js} +65 -37
  204. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.d.ts → start/preStart/validateAcceptedPaymentMethodIfNeeded.d.ts} +4 -4
  205. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.js → start/preStart/validateAcceptedPaymentMethodIfNeeded.js} +8 -21
  206. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.d.ts +8 -0
  207. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +44 -0
  208. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.d.ts +13 -0
  209. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +39 -0
  210. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +29 -0
  211. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +31 -0
  212. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +42 -0
  213. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +22 -0
  214. package/lib/chevre/service/assetTransaction/pay/start.d.ts +60 -0
  215. package/lib/chevre/service/assetTransaction/pay/start.js +139 -0
  216. package/lib/chevre/service/assetTransaction/pay.d.ts +8 -170
  217. package/lib/chevre/service/assetTransaction/pay.js +16 -623
  218. package/lib/chevre/service/assetTransaction/refund/factory.js +36 -16
  219. package/lib/chevre/service/assetTransaction/refund/potentialActions.js +12 -21
  220. package/lib/chevre/service/assetTransaction/refund.js +35 -39
  221. package/lib/chevre/service/assetTransaction/registerService/factory.js +65 -28
  222. package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +50 -41
  223. package/lib/chevre/service/assetTransaction/registerService.js +45 -52
  224. package/lib/chevre/service/assetTransaction/reserve/cancel.js +5 -14
  225. package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -3
  226. package/lib/chevre/service/assetTransaction/reserve/confirm.js +21 -26
  227. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +3 -12
  228. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +99 -79
  229. package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +17 -12
  230. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +108 -70
  231. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +69 -30
  232. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +29 -20
  233. package/lib/chevre/service/assetTransaction/reserve/start.js +91 -106
  234. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +5 -15
  235. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +41 -54
  236. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +42 -55
  237. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +7 -17
  238. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +15 -27
  239. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +24 -24
  240. package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +12 -4
  241. package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
  242. package/lib/chevre/service/assetTransaction.js +17 -21
  243. package/lib/chevre/service/delivery/factory.js +3 -4
  244. package/lib/chevre/service/delivery/product/factory.js +16 -7
  245. package/lib/chevre/service/delivery/reservation/factory.js +14 -3
  246. package/lib/chevre/service/delivery.js +47 -49
  247. package/lib/chevre/service/event/processUpdateMovieTheater.js +21 -23
  248. package/lib/chevre/service/event/saveScreeningEventSeries.js +56 -37
  249. package/lib/chevre/service/event/saveScreeningEvents.js +14 -23
  250. package/lib/chevre/service/event.js +34 -27
  251. package/lib/chevre/service/iam.js +8 -17
  252. package/lib/chevre/service/moneyTransfer.js +128 -112
  253. package/lib/chevre/service/notification/factory.js +11 -8
  254. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +11 -15
  255. package/lib/chevre/service/notification/notifyByEmail.js +7 -17
  256. package/lib/chevre/service/notification/sendEmailMessage.js +23 -26
  257. package/lib/chevre/service/notification/triggerWebhook.js +58 -54
  258. package/lib/chevre/service/offer/any.js +6 -15
  259. package/lib/chevre/service/offer/event/authorize/factory.js +139 -61
  260. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +8 -18
  261. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +43 -27
  262. package/lib/chevre/service/offer/event/authorize.js +114 -68
  263. package/lib/chevre/service/offer/event/checkAvailability.js +5 -15
  264. package/lib/chevre/service/offer/event/importFromCOA/factory.js +9 -2
  265. package/lib/chevre/service/offer/event/importFromCOA.js +13 -19
  266. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +38 -39
  267. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +26 -38
  268. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +11 -22
  269. package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +13 -24
  270. package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +15 -22
  271. package/lib/chevre/service/offer/event/searchOffersByIds.js +24 -36
  272. package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +5 -14
  273. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +4 -13
  274. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
  275. package/lib/chevre/service/offer/event/voidTransaction.js +35 -39
  276. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +14 -20
  277. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +52 -40
  278. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +5 -1
  279. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +34 -37
  280. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +45 -22
  281. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +67 -59
  282. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +16 -26
  283. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +8 -18
  284. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +42 -41
  285. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +22 -25
  286. package/lib/chevre/service/offer/factory.js +18 -7
  287. package/lib/chevre/service/offer/moneyTransfer/authorize.js +31 -36
  288. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +9 -18
  289. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +10 -19
  290. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +14 -24
  291. package/lib/chevre/service/offer/onEventChanged.js +69 -64
  292. package/lib/chevre/service/offer/product/factory.js +54 -29
  293. package/lib/chevre/service/offer/product/searchProductOffers.js +30 -23
  294. package/lib/chevre/service/offer/product.js +106 -80
  295. package/lib/chevre/service/offer.js +48 -44
  296. package/lib/chevre/service/order/confirmPayTransaction.js +28 -27
  297. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +54 -41
  298. package/lib/chevre/service/order/deleteOrder.js +28 -35
  299. package/lib/chevre/service/order/findPlaceOrderTransaction.js +3 -12
  300. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +64 -68
  301. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  302. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +1 -2
  303. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +3 -12
  304. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +11 -6
  305. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +5 -14
  306. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
  307. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +22 -9
  308. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +5 -14
  309. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +23 -26
  310. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +13 -19
  311. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +5 -14
  312. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +24 -13
  313. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +23 -32
  314. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +8 -18
  315. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  316. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +10 -9
  317. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +23 -28
  318. package/lib/chevre/service/order/onOrderUpdated/factory.js +3 -5
  319. package/lib/chevre/service/order/onOrderUpdated.js +13 -15
  320. package/lib/chevre/service/order/payOrder.js +3 -12
  321. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +9 -19
  322. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +31 -15
  323. package/lib/chevre/service/order/placeOrder/factory.js +35 -22
  324. package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +3 -12
  325. package/lib/chevre/service/order/placeOrder.js +12 -22
  326. package/lib/chevre/service/order/placeOrderWithoutTransaction.js +10 -18
  327. package/lib/chevre/service/order/returnOrder.js +27 -29
  328. package/lib/chevre/service/order/sendOrder.js +37 -36
  329. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +19 -25
  330. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +24 -37
  331. package/lib/chevre/service/payment/any/factory.js +106 -49
  332. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +4 -13
  333. package/lib/chevre/service/payment/any/onPayActionCompleted.js +13 -18
  334. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +34 -37
  335. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +18 -24
  336. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +16 -16
  337. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +15 -20
  338. package/lib/chevre/service/payment/any/person2username.js +33 -45
  339. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +8 -18
  340. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +5 -15
  341. package/lib/chevre/service/payment/any.js +181 -137
  342. package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +2 -2
  343. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +44 -24
  344. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +6 -15
  345. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +5 -1
  346. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +10 -2
  347. package/lib/chevre/service/payment/creditCard/authorize.js +20 -22
  348. package/lib/chevre/service/payment/creditCard/factory.js +22 -4
  349. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +8 -18
  350. package/lib/chevre/service/payment/creditCard/payCreditCard.js +31 -36
  351. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +40 -49
  352. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +33 -45
  353. package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -25
  354. package/lib/chevre/service/payment/faceToFace.js +14 -23
  355. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +44 -25
  356. package/lib/chevre/service/payment/factory.js +50 -23
  357. package/lib/chevre/service/payment/movieTicket/authorize.js +35 -28
  358. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +22 -25
  359. package/lib/chevre/service/payment/movieTicket/factory.js +33 -10
  360. package/lib/chevre/service/payment/movieTicket/getCredentials.js +5 -15
  361. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +29 -40
  362. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +8 -18
  363. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +60 -59
  364. package/lib/chevre/service/payment/movieTicket/validation.js +41 -36
  365. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +8 -18
  366. package/lib/chevre/service/payment/paymentCard.js +87 -103
  367. package/lib/chevre/service/permit.js +36 -35
  368. package/lib/chevre/service/product.js +23 -27
  369. package/lib/chevre/service/project.js +22 -31
  370. package/lib/chevre/service/report/ownershipInfo.js +3 -4
  371. package/lib/chevre/service/report/telemetry.js +51 -55
  372. package/lib/chevre/service/reserve/cancelReservation.js +92 -90
  373. package/lib/chevre/service/reserve/checkInReservation.js +24 -29
  374. package/lib/chevre/service/reserve/confirmReservation.js +33 -38
  375. package/lib/chevre/service/reserve/factory.js +42 -20
  376. package/lib/chevre/service/reserve/findByCode.js +13 -18
  377. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +18 -24
  378. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +17 -24
  379. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +38 -29
  380. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +45 -35
  381. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +37 -32
  382. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +17 -23
  383. package/lib/chevre/service/reserve/searchByOrder.js +10 -19
  384. package/lib/chevre/service/reserve/useReservation.js +47 -32
  385. package/lib/chevre/service/reserve/verifyToken4reservation.js +7 -14
  386. package/lib/chevre/service/reserveCOA/cancelReservation.js +7 -16
  387. package/lib/chevre/service/reserveCOA/factory.js +5 -1
  388. package/lib/chevre/service/task/acceptCOAOffer.js +20 -24
  389. package/lib/chevre/service/task/aggregateOffers.js +3 -12
  390. package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
  391. package/lib/chevre/service/task/aggregateScreeningEvent.js +3 -12
  392. package/lib/chevre/service/task/authorizePayment.js +9 -15
  393. package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
  394. package/lib/chevre/service/task/cancelPendingReservation.js +10 -20
  395. package/lib/chevre/service/task/cancelReservation.js +3 -12
  396. package/lib/chevre/service/task/checkMovieTicket.js +16 -19
  397. package/lib/chevre/service/task/checkResource.js +7 -16
  398. package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
  399. package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
  400. package/lib/chevre/service/task/confirmRegisterService.js +3 -12
  401. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +24 -31
  402. package/lib/chevre/service/task/confirmReserveTransaction.js +48 -42
  403. package/lib/chevre/service/task/createAccountingReport.js +14 -20
  404. package/lib/chevre/service/task/deletePerson.js +48 -58
  405. package/lib/chevre/service/task/deleteTransaction.js +3 -12
  406. package/lib/chevre/service/task/givePointAward.js +3 -12
  407. package/lib/chevre/service/task/handleNotification.js +4 -14
  408. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +6 -16
  409. package/lib/chevre/service/task/importEventsFromCOA.js +6 -16
  410. package/lib/chevre/service/task/importOffersFromCOA.js +8 -18
  411. package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
  412. package/lib/chevre/service/task/moneyTransfer.js +3 -12
  413. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
  414. package/lib/chevre/service/task/onAuthorizationCreated.js +11 -18
  415. package/lib/chevre/service/task/onEventChanged.js +3 -12
  416. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
  417. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +7 -16
  418. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +7 -16
  419. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +8 -17
  420. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +10 -19
  421. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +8 -17
  422. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +6 -15
  423. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +14 -23
  424. package/lib/chevre/service/task/onResourceDeleted.js +17 -26
  425. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +9 -21
  426. package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
  427. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +11 -23
  428. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +13 -25
  429. package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +9 -15
  430. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +21 -27
  431. package/lib/chevre/service/task/onResourceUpdated.js +113 -153
  432. package/lib/chevre/service/task/pay.js +8 -16
  433. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +4 -14
  434. package/lib/chevre/service/task/payment/payByTask.js +49 -38
  435. package/lib/chevre/service/task/payment/refundByTask.js +7 -17
  436. package/lib/chevre/service/task/payment/voidPaymentByTask.js +6 -15
  437. package/lib/chevre/service/task/placeOrder.js +6 -12
  438. package/lib/chevre/service/task/publishPaymentUrl.js +9 -14
  439. package/lib/chevre/service/task/refund.js +8 -16
  440. package/lib/chevre/service/task/registerService.js +3 -12
  441. package/lib/chevre/service/task/reserve.js +3 -12
  442. package/lib/chevre/service/task/returnMoneyTransfer.js +3 -12
  443. package/lib/chevre/service/task/returnOrder.js +6 -12
  444. package/lib/chevre/service/task/returnPayTransaction.js +54 -48
  445. package/lib/chevre/service/task/returnPointAward.js +3 -12
  446. package/lib/chevre/service/task/returnReserveTransaction.js +29 -30
  447. package/lib/chevre/service/task/sendEmailMessage.js +6 -13
  448. package/lib/chevre/service/task/sendOrder.js +12 -15
  449. package/lib/chevre/service/task/syncResourcesFromCOA.js +39 -40
  450. package/lib/chevre/service/task/triggerWebhook.js +6 -12
  451. package/lib/chevre/service/task/useReservation.js +11 -14
  452. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
  453. package/lib/chevre/service/task/voidPayTransaction.js +7 -12
  454. package/lib/chevre/service/task/voidPayment.js +3 -12
  455. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
  456. package/lib/chevre/service/task/voidReserveTransaction.js +10 -16
  457. package/lib/chevre/service/task.js +16 -22
  458. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +9 -20
  459. package/lib/chevre/service/taskHandler/onOperationFailed.js +20 -17
  460. package/lib/chevre/service/taskHandler.js +19 -21
  461. package/lib/chevre/service/transaction/deleteTransaction.js +104 -84
  462. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +15 -6
  463. package/lib/chevre/service/transaction/moneyTransfer/factory.js +13 -4
  464. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +12 -24
  465. package/lib/chevre/service/transaction/moneyTransfer.js +119 -96
  466. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +49 -51
  467. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
  468. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +4 -14
  469. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +3 -4
  470. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +3 -4
  471. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +2 -3
  472. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +30 -45
  473. package/lib/chevre/service/transaction/placeOrder/confirm.js +75 -55
  474. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +31 -13
  475. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +6 -15
  476. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +6 -15
  477. package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +7 -16
  478. package/lib/chevre/service/transaction/placeOrder/start/factory.js +27 -7
  479. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +53 -59
  480. package/lib/chevre/service/transaction/placeOrder/start.js +14 -18
  481. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +13 -6
  482. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +176 -190
  483. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +77 -89
  484. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +40 -48
  485. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +52 -56
  486. package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +100 -102
  487. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +60 -80
  488. package/lib/chevre/service/transaction/returnOrder/preStart.js +42 -46
  489. package/lib/chevre/service/transaction/returnOrder.js +32 -36
  490. package/lib/chevre/service/transaction.js +75 -46
  491. package/lib/chevre/service/validation/validateEvent.js +2 -11
  492. package/lib/chevre/service/validation/validateOrder.js +7 -16
  493. package/lib/chevre/service.js +85 -128
  494. package/lib/chevre/settings/aggregation.js +4 -0
  495. package/lib/chevre/settings.js +7 -0
  496. package/package.json +8 -11
  497. package/example/src/chevre/addEventBySchedule.ts +0 -46
  498. package/example/src/chevre/orderNumber/decryptOrderNumber.ts +0 -14
  499. package/example/src/idaas/auth0/adminApplications.ts +0 -183
  500. package/example/src/idaas/auth0/getToken.ts +0 -55
  501. package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +0 -84
  502. package/lib/chevre/service/task/createEvent/createEvent.d.ts +0 -25
  503. package/lib/chevre/service/task/createEvent/createEvent.js +0 -45
  504. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.d.ts +0 -22
  505. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.js +0 -190
  506. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.d.ts +0 -15
  507. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.js +0 -118
  508. package/lib/chevre/service/task/createEvent/createEventBySchedule.d.ts +0 -25
  509. package/lib/chevre/service/task/createEvent/createEventBySchedule.js +0 -107
  510. package/lib/chevre/service/task/createEvent/createEventSeries.d.ts +0 -13
  511. package/lib/chevre/service/task/createEvent/createEventSeries.js +0 -118
  512. package/lib/chevre/service/task/createEvent.d.ts +0 -6
  513. package/lib/chevre/service/task/createEvent.js +0 -46
@@ -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.OfferCatalogRepo = void 0;
24
4
  const factory = require("../factory");
@@ -40,15 +20,15 @@ const SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT = 100;
40
20
  * カタログリポジトリ
41
21
  */
42
22
  class OfferCatalogRepo {
23
+ offerCatalogModel;
43
24
  constructor(connection) {
44
25
  this.offerCatalogModel = connection.model(offerCatalog_1.modelName, (0, offerCatalog_1.createSchema)());
45
26
  }
46
27
  // tslint:disable-next-line:max-func-body-length
47
28
  static CREATE_MONGO_CONDITIONS(params) {
48
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
49
29
  // MongoDB検索条件
50
30
  const andConditions = [];
51
- const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
31
+ const projectIdEq = params.project?.id?.$eq;
52
32
  if (typeof projectIdEq === 'string') {
53
33
  andConditions.push({
54
34
  'project.id': {
@@ -56,25 +36,25 @@ class OfferCatalogRepo {
56
36
  }
57
37
  });
58
38
  }
59
- const idIn = (_c = params.id) === null || _c === void 0 ? void 0 : _c.$in;
39
+ const idIn = params.id?.$in;
60
40
  if (Array.isArray(idIn)) {
61
41
  andConditions.push({ _id: { $in: idIn } });
62
42
  }
63
- const idRegex = (_d = params.id) === null || _d === void 0 ? void 0 : _d.$regex;
43
+ const idRegex = params.id?.$regex;
64
44
  if (typeof idRegex === 'string' && idRegex.length > 0) {
65
45
  andConditions.push({ _id: { $regex: new RegExp(idRegex) } });
66
46
  }
67
- const identifierEq = (_e = params.identifier) === null || _e === void 0 ? void 0 : _e.$eq;
47
+ const identifierEq = params.identifier?.$eq;
68
48
  if (typeof identifierEq === 'string') {
69
49
  andConditions.push({
70
50
  identifier: { $eq: identifierEq }
71
51
  });
72
52
  }
73
- const identifierIn = (_f = params.identifier) === null || _f === void 0 ? void 0 : _f.$in;
53
+ const identifierIn = params.identifier?.$in;
74
54
  if (Array.isArray(identifierIn)) {
75
55
  andConditions.push({ identifier: { $in: identifierIn } });
76
56
  }
77
- const identifierRegex = (_g = params.identifier) === null || _g === void 0 ? void 0 : _g.$regex;
57
+ const identifierRegex = params.identifier?.$regex;
78
58
  if (typeof identifierRegex === 'string' && identifierRegex.length > 0) {
79
59
  andConditions.push({ identifier: { $regex: new RegExp(identifierRegex) } });
80
60
  }
@@ -86,11 +66,11 @@ class OfferCatalogRepo {
86
66
  ]
87
67
  });
88
68
  }
89
- const itemListElementTypeOfEq = (_j = (_h = params.itemListElement) === null || _h === void 0 ? void 0 : _h.typeOf) === null || _j === void 0 ? void 0 : _j.$eq;
69
+ const itemListElementTypeOfEq = params.itemListElement?.typeOf?.$eq;
90
70
  if (typeof itemListElementTypeOfEq === 'string') {
91
71
  andConditions.push({ 'itemListElement.typeOf': { $exists: true, $eq: itemListElementTypeOfEq } });
92
72
  }
93
- const itemListElementIdIn = (_l = (_k = params.itemListElement) === null || _k === void 0 ? void 0 : _k.id) === null || _l === void 0 ? void 0 : _l.$in;
73
+ const itemListElementIdIn = params.itemListElement?.id?.$in;
94
74
  if (Array.isArray(itemListElementIdIn)) {
95
75
  andConditions.push({
96
76
  'itemListElement.id': {
@@ -99,7 +79,7 @@ class OfferCatalogRepo {
99
79
  }
100
80
  });
101
81
  }
102
- const itemListElementIdNin = (_o = (_m = params.itemListElement) === null || _m === void 0 ? void 0 : _m.id) === null || _o === void 0 ? void 0 : _o.$nin;
82
+ const itemListElementIdNin = params.itemListElement?.id?.$nin;
103
83
  if (Array.isArray(itemListElementIdNin)) {
104
84
  andConditions.push({
105
85
  'itemListElement.id': {
@@ -107,7 +87,7 @@ class OfferCatalogRepo {
107
87
  }
108
88
  });
109
89
  }
110
- const itemListElementIdAll = (_q = (_p = params.itemListElement) === null || _p === void 0 ? void 0 : _p.id) === null || _q === void 0 ? void 0 : _q.$all;
90
+ const itemListElementIdAll = params.itemListElement?.id?.$all;
111
91
  if (Array.isArray(itemListElementIdAll)) {
112
92
  andConditions.push({
113
93
  'itemListElement.id': {
@@ -116,7 +96,7 @@ class OfferCatalogRepo {
116
96
  }
117
97
  });
118
98
  }
119
- const itemOfferedTypeOfEq = (_s = (_r = params.itemOffered) === null || _r === void 0 ? void 0 : _r.typeOf) === null || _s === void 0 ? void 0 : _s.$eq;
99
+ const itemOfferedTypeOfEq = params.itemOffered?.typeOf?.$eq;
120
100
  if (typeof itemOfferedTypeOfEq === 'string') {
121
101
  andConditions.push({
122
102
  'itemOffered.typeOf': {
@@ -125,7 +105,7 @@ class OfferCatalogRepo {
125
105
  }
126
106
  });
127
107
  }
128
- const itemOfferedServiceTypeCodeValueEq = (_v = (_u = (_t = params.itemOffered) === null || _t === void 0 ? void 0 : _t.serviceType) === null || _u === void 0 ? void 0 : _u.codeValue) === null || _v === void 0 ? void 0 : _v.$eq;
108
+ const itemOfferedServiceTypeCodeValueEq = params.itemOffered?.serviceType?.codeValue?.$eq;
129
109
  if (typeof itemOfferedServiceTypeCodeValueEq === 'string') {
130
110
  andConditions.push({
131
111
  'itemOffered.serviceType.codeValue': {
@@ -134,7 +114,7 @@ class OfferCatalogRepo {
134
114
  }
135
115
  });
136
116
  }
137
- const additionalPropertyElemMatch = (_w = params.additionalProperty) === null || _w === void 0 ? void 0 : _w.$elemMatch;
117
+ const additionalPropertyElemMatch = params.additionalProperty?.$elemMatch;
138
118
  if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
139
119
  andConditions.push({
140
120
  additionalProperty: {
@@ -145,152 +125,158 @@ class OfferCatalogRepo {
145
125
  }
146
126
  return andConditions;
147
127
  }
148
- save(params) {
149
- return __awaiter(this, void 0, void 0, function* () {
150
- let savedId;
151
- let doc;
152
- if (typeof params.id !== 'string' || params.id === '') {
153
- const uniqid = yield Promise.resolve().then(() => require('uniqid'));
154
- const newId = uniqid();
155
- const { id, $unset } = params, creatingDoc = __rest(params, ["id", "$unset"]);
156
- doc = yield this.offerCatalogModel.create(Object.assign(Object.assign({}, creatingDoc), { _id: newId }));
157
- savedId = newId;
158
- }
159
- else {
160
- const { id, identifier, itemOffered, project, typeOf, $unset } = params, updateFields = __rest(params, ["id", "identifier", "itemOffered", "project", "typeOf", "$unset"]); // 上書き禁止属性を除外
161
- doc = yield this.offerCatalogModel.findOneAndUpdate({ _id: { $eq: params.id } }, Object.assign({ $set: updateFields }, (params.$unset !== undefined) ? { $unset: params.$unset } : undefined), { upsert: false, new: true, projection: { _id: 1 } })
162
- .exec();
163
- savedId = id;
164
- }
165
- if (doc === null) {
166
- throw new factory.errors.NotFound(this.offerCatalogModel.modelName);
167
- }
168
- return { id: savedId };
169
- });
128
+ async save(params) {
129
+ let savedId;
130
+ let doc;
131
+ if (typeof params.id !== 'string' || params.id === '') {
132
+ const uniqid = await Promise.resolve().then(() => require('uniqid'));
133
+ const newId = uniqid();
134
+ const { id, $unset, ...creatingDoc } = params;
135
+ doc = await this.offerCatalogModel.create({ ...creatingDoc, _id: newId });
136
+ savedId = newId;
137
+ }
138
+ else {
139
+ const { id, identifier, itemOffered, project, typeOf, $unset, ...updateFields } = params; // 上書き禁止属性を除外
140
+ doc = await this.offerCatalogModel.findOneAndUpdate({ _id: { $eq: params.id } }, {
141
+ $set: updateFields,
142
+ ...(params.$unset !== undefined) ? { $unset: params.$unset } : undefined
143
+ }, { upsert: false, new: true, projection: { _id: 1 } })
144
+ .exec();
145
+ savedId = id;
146
+ }
147
+ if (doc === null) {
148
+ throw new factory.errors.NotFound(this.offerCatalogModel.modelName);
149
+ }
150
+ return { id: savedId };
170
151
  }
171
152
  /**
172
153
  * プロジェクトとコードから冪等保管
173
154
  */
174
- saveByIdentifier(params) {
175
- return __awaiter(this, void 0, void 0, function* () {
176
- const uniqid = yield Promise.resolve().then(() => require('uniqid'));
177
- const newId = uniqid();
178
- const { id, identifier, itemOffered, project, typeOf } = params, updateFields = __rest(params, ["id", "identifier", "itemOffered", "project", "typeOf"]);
179
- const doc = yield this.offerCatalogModel.findOneAndUpdate({
180
- identifier: { $eq: params.identifier },
181
- 'project.id': { $eq: params.project.id }
182
- }, {
183
- $set: updateFields,
184
- $setOnInsert: { _id: newId, identifier, itemOffered, project, typeOf }
185
- }, {
186
- upsert: true,
187
- new: true,
188
- projection: { _id: 0, id: '$_id' }
189
- })
190
- .lean()
191
- .exec();
192
- return { id: doc.id };
193
- });
155
+ async saveByIdentifier(params) {
156
+ const uniqid = await Promise.resolve().then(() => require('uniqid'));
157
+ const newId = uniqid();
158
+ const { id, identifier, itemOffered, project, typeOf, ...updateFields } = params;
159
+ const doc = await this.offerCatalogModel.findOneAndUpdate({
160
+ identifier: { $eq: params.identifier },
161
+ 'project.id': { $eq: params.project.id }
162
+ }, {
163
+ $set: updateFields,
164
+ $setOnInsert: { _id: newId, identifier, itemOffered, project, typeOf }
165
+ }, {
166
+ upsert: true,
167
+ new: true,
168
+ projection: { _id: 0, id: '$_id' }
169
+ })
170
+ .lean()
171
+ .exec();
172
+ return { id: doc.id };
194
173
  }
195
174
  /**
196
175
  * コードをキーにして冪等置換(2023-12-14~)
197
176
  */
198
- upsertManyByIdentifier(params, options) {
199
- return __awaiter(this, void 0, void 0, function* () {
200
- const { itemListElementType, productType, update } = options;
201
- const uniqid = yield Promise.resolve().then(() => require('uniqid'));
202
- const bulkWriteOps = [];
203
- const queryFilters = [];
204
- if (Array.isArray(params)) {
205
- params.forEach(({ $set, $unset }) => {
206
- const { id, identifier, project, typeOf } = $set, setFields = __rest($set, ["id", "identifier", "project", "typeOf"]);
207
- if (typeof identifier !== 'string' || identifier.length === 0) {
208
- throw new factory.errors.ArgumentNull('identifier');
209
- }
210
- // 指定されたproductTypeを強制する
211
- if (setFields.itemOffered.typeOf !== productType) {
212
- throw new factory.errors.Argument('itemOffered.typeOf', `not matched with productType: ${productType}`);
213
- }
214
- // 指定されたitemListElementTypeを強制する
215
- const everyElementTypeMatched = setFields.itemListElement.every((element) => element.typeOf === itemListElementType);
216
- if (!everyElementTypeMatched) {
217
- throw new factory.errors.Argument('itemListElement.typeOf', `not matched with itemListElementType: ${itemListElementType}`);
218
- }
219
- // リソースのユニークネスを保証するfilter
220
- const filter = {
221
- 'project.id': { $eq: project.id },
222
- identifier: { $eq: identifier },
223
- 'itemOffered.typeOf': { $exists: true, $eq: productType }, // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
224
- 'itemListElement.typeOf': { $exists: true, $eq: itemListElementType } // アイテムタイプを変更させないためにフィルター追加(2026-02-03~)
225
- };
226
- queryFilters.push({
227
- 'project.id': { $eq: project.id },
228
- identifier: { $eq: identifier },
229
- 'itemOffered.typeOf': { $exists: true, $eq: productType }, // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
230
- 'itemListElement.typeOf': { $exists: true, $eq: itemListElementType } // アイテムタイプを変更させないためにフィルター追加(2026-02-03~)
231
- });
232
- if (update === true) {
233
- const updateOne = {
234
- filter,
235
- update: Object.assign({ $set: setFields }, ($unset !== undefined) ? { $unset } : undefined),
236
- upsert: false
237
- };
238
- bulkWriteOps.push({ updateOne });
239
- }
240
- else {
241
- // デフォルトはupsert操作
242
- const newId = uniqid();
243
- const setOnInsert = {
244
- identifier,
245
- project,
246
- typeOf,
247
- _id: newId
248
- };
249
- const updateOne = {
250
- filter,
251
- update: Object.assign({ $setOnInsert: setOnInsert, $set: setFields }, ($unset !== undefined) ? { $unset } : undefined),
252
- upsert: true
253
- };
254
- bulkWriteOps.push({ updateOne });
255
- }
177
+ async upsertManyByIdentifier(params, options) {
178
+ const { itemListElementType, productType, update } = options;
179
+ const uniqid = await Promise.resolve().then(() => require('uniqid'));
180
+ const bulkWriteOps = [];
181
+ const queryFilters = [];
182
+ if (Array.isArray(params)) {
183
+ params.forEach(({ $set, $unset }) => {
184
+ const { id, identifier, project, typeOf, ...setFields } = $set;
185
+ if (typeof identifier !== 'string' || identifier.length === 0) {
186
+ throw new factory.errors.ArgumentNull('identifier');
187
+ }
188
+ // 指定されたproductTypeを強制する
189
+ if (setFields.itemOffered.typeOf !== productType) {
190
+ throw new factory.errors.Argument('itemOffered.typeOf', `not matched with productType: ${productType}`);
191
+ }
192
+ // 指定されたitemListElementTypeを強制する
193
+ const everyElementTypeMatched = setFields.itemListElement.every((element) => element.typeOf === itemListElementType);
194
+ if (!everyElementTypeMatched) {
195
+ throw new factory.errors.Argument('itemListElement.typeOf', `not matched with itemListElementType: ${itemListElementType}`);
196
+ }
197
+ // リソースのユニークネスを保証するfilter
198
+ const filter = {
199
+ 'project.id': { $eq: project.id },
200
+ identifier: { $eq: identifier },
201
+ 'itemOffered.typeOf': { $exists: true, $eq: productType }, // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
202
+ 'itemListElement.typeOf': { $exists: true, $eq: itemListElementType } // アイテムタイプを変更させないためにフィルター追加(2026-02-03~)
203
+ };
204
+ queryFilters.push({
205
+ 'project.id': { $eq: project.id },
206
+ identifier: { $eq: identifier },
207
+ 'itemOffered.typeOf': { $exists: true, $eq: productType }, // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
208
+ 'itemListElement.typeOf': { $exists: true, $eq: itemListElementType } // アイテムタイプを変更させないためにフィルター追加(2026-02-03~)
256
209
  });
257
- }
258
- if (bulkWriteOps.length > 0) {
259
- const bulkWriteResult = yield this.offerCatalogModel.bulkWrite(bulkWriteOps, { ordered: false });
260
- // const bulkWriteResult = await this.offerCatalogModel.bulkWrite(bulkWriteOps, { ordered: false });
261
- // modifiedの場合upsertedIdsに含まれないので、idを検索する
262
- const modifiedCatalogs = yield this.offerCatalogModel.find({ $or: queryFilters }, { _id: 1 })
263
- .exec();
264
- return { bulkWriteResult, modifiedCatalogs };
265
- }
266
- });
210
+ if (update === true) {
211
+ const updateOne = {
212
+ filter,
213
+ update: {
214
+ $set: setFields,
215
+ ...($unset !== undefined) ? { $unset } : undefined
216
+ },
217
+ upsert: false
218
+ };
219
+ bulkWriteOps.push({ updateOne });
220
+ }
221
+ else {
222
+ // デフォルトはupsert操作
223
+ const newId = uniqid();
224
+ const setOnInsert = {
225
+ identifier,
226
+ project,
227
+ typeOf,
228
+ _id: newId
229
+ };
230
+ const updateOne = {
231
+ filter,
232
+ update: {
233
+ $setOnInsert: setOnInsert,
234
+ $set: setFields,
235
+ ...($unset !== undefined) ? { $unset } : undefined
236
+ },
237
+ upsert: true
238
+ };
239
+ bulkWriteOps.push({ updateOne });
240
+ }
241
+ });
242
+ }
243
+ if (bulkWriteOps.length > 0) {
244
+ const bulkWriteResult = await this.offerCatalogModel.bulkWrite(bulkWriteOps, { ordered: false });
245
+ // const bulkWriteResult = await this.offerCatalogModel.bulkWrite(bulkWriteOps, { ordered: false });
246
+ // modifiedの場合upsertedIdsに含まれないので、idを検索する
247
+ const modifiedCatalogs = await this.offerCatalogModel.find({ $or: queryFilters }, { _id: 1 })
248
+ .exec();
249
+ return { bulkWriteResult, modifiedCatalogs };
250
+ }
267
251
  }
268
252
  /**
269
253
  * 同期日時を更新する
270
254
  */
271
- updateDateSynced(params) {
272
- return __awaiter(this, void 0, void 0, function* () {
273
- yield this.offerCatalogModel.updateOne({ _id: params.id }, { $set: { dateSynced: params.dateSynced } })
274
- .exec();
275
- });
255
+ async updateDateSynced(params) {
256
+ await this.offerCatalogModel.updateOne({ _id: params.id }, { $set: { dateSynced: params.dateSynced } })
257
+ .exec();
276
258
  }
277
259
  /**
278
260
  * オファーカタログIDリストからitemListElementをまとめて編集する
279
261
  */
280
- updateManyOfferCatalogsByIds(params) {
281
- return __awaiter(this, void 0, void 0, function* () {
282
- if (!Array.isArray(params.id.$in) || params.id.$in.length === 0) {
283
- return;
284
- }
285
- const pushItemListElementIds = params.$push.itemListElement.$each.map((element) => element.id);
286
- yield this.offerCatalogModel.updateMany(Object.assign({ _id: { $in: params.id.$in }, 'itemOffered.typeOf': { $exists: true, $eq: params.itemOffered.typeOf.$eq } }, (pushItemListElementIds.length > 0)
262
+ async updateManyOfferCatalogsByIds(params) {
263
+ if (!Array.isArray(params.id.$in) || params.id.$in.length === 0) {
264
+ return;
265
+ }
266
+ const pushItemListElementIds = params.$push.itemListElement.$each.map((element) => element.id);
267
+ await this.offerCatalogModel.updateMany({
268
+ _id: { $in: params.id.$in },
269
+ 'itemOffered.typeOf': { $exists: true, $eq: params.itemOffered.typeOf.$eq },
270
+ ...(pushItemListElementIds.length > 0)
287
271
  // itemListElementのユニークネスを保証する
288
272
  ? {
289
273
  'itemListElement.id': {
290
274
  $nin: pushItemListElementIds
291
275
  }
292
276
  }
293
- : undefined), Object.assign(Object.assign({}, (pushItemListElementIds.length > 0)
277
+ : undefined
278
+ }, {
279
+ ...(pushItemListElementIds.length > 0)
294
280
  ? {
295
281
  $push: {
296
282
  itemListElement: {
@@ -299,7 +285,8 @@ class OfferCatalogRepo {
299
285
  }
300
286
  }
301
287
  }
302
- : undefined), (params.$pull.itemListElement.$elemMatch.id.$in.length > 0)
288
+ : undefined,
289
+ ...(params.$pull.itemListElement.$elemMatch.id.$in.length > 0)
303
290
  ? {
304
291
  $pull: {
305
292
  itemListElement: {
@@ -307,46 +294,45 @@ class OfferCatalogRepo {
307
294
  }
308
295
  }
309
296
  }
310
- : undefined))
311
- .exec();
312
- });
297
+ : undefined
298
+ })
299
+ .exec();
313
300
  }
314
- pullItemListElement(params) {
315
- return __awaiter(this, void 0, void 0, function* () {
316
- if (params.$pull.itemListElement.$elemMatch.id.$in.length === 0) {
317
- return;
301
+ async pullItemListElement(params) {
302
+ if (params.$pull.itemListElement.$elemMatch.id.$in.length === 0) {
303
+ return;
304
+ }
305
+ return this.offerCatalogModel.updateMany({
306
+ 'project.id': { $eq: params.project.id },
307
+ 'itemListElement.id': {
308
+ $exists: true,
309
+ $in: params.$pull.itemListElement.$elemMatch.id.$in
318
310
  }
319
- return this.offerCatalogModel.updateMany({
320
- 'project.id': { $eq: params.project.id },
321
- 'itemListElement.id': {
322
- $exists: true,
323
- $in: params.$pull.itemListElement.$elemMatch.id.$in
311
+ }, {
312
+ $pull: {
313
+ itemListElement: {
314
+ id: { $in: params.$pull.itemListElement.$elemMatch.id.$in }
324
315
  }
325
- }, {
326
- $pull: {
327
- itemListElement: {
328
- id: { $in: params.$pull.itemListElement.$elemMatch.id.$in }
329
- }
330
- }
331
- })
332
- .exec();
333
- });
334
- }
335
- projectFields(params, inclusion) {
336
- return __awaiter(this, void 0, void 0, function* () {
337
- var _a;
338
- const conditions = OfferCatalogRepo.CREATE_MONGO_CONDITIONS(params);
339
- const matchStages = conditions.map((condition) => {
340
- return { $match: condition };
341
- });
342
- let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
343
- if (Array.isArray(inclusion) && inclusion.length > 0) {
344
- positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
345
- }
346
- else {
347
- // throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
348
316
  }
349
- const projection = Object.assign({ _id: 0, id: '$_id' }, Object.fromEntries(positiveProjectionFields.map((key) => {
317
+ })
318
+ .exec();
319
+ }
320
+ async projectFields(params, inclusion) {
321
+ const conditions = OfferCatalogRepo.CREATE_MONGO_CONDITIONS(params);
322
+ const matchStages = conditions.map((condition) => {
323
+ return { $match: condition };
324
+ });
325
+ let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
326
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
327
+ positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
328
+ }
329
+ else {
330
+ // throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
331
+ }
332
+ const projection = {
333
+ _id: 0,
334
+ id: '$_id',
335
+ ...Object.fromEntries(positiveProjectionFields.map((key) => {
350
336
  let value;
351
337
  switch (key) {
352
338
  case 'numberOfItems':
@@ -365,57 +351,52 @@ class OfferCatalogRepo {
365
351
  value = 1;
366
352
  }
367
353
  return [key, value];
368
- })));
369
- const aggregate = this.offerCatalogModel.aggregate([
370
- ...(((_a = params.sort) === null || _a === void 0 ? void 0 : _a.identifier) !== undefined) ? [{ $sort: { identifier: params.sort.identifier } }] : [],
371
- ...matchStages,
372
- { $project: projection }
373
- ]);
374
- if (typeof params.limit === 'number' && params.limit > 0) {
375
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
376
- aggregate.limit(params.limit * page)
377
- .skip(params.limit * (page - 1));
378
- }
379
- return aggregate.exec();
380
- });
354
+ }))
355
+ };
356
+ const aggregate = this.offerCatalogModel.aggregate([
357
+ ...(params.sort?.identifier !== undefined) ? [{ $sort: { identifier: params.sort.identifier } }] : [],
358
+ ...matchStages,
359
+ { $project: projection }
360
+ ]);
361
+ if (typeof params.limit === 'number' && params.limit > 0) {
362
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
363
+ aggregate.limit(params.limit * page)
364
+ .skip(params.limit * (page - 1));
365
+ }
366
+ return aggregate.exec();
381
367
  }
382
- findItemListElementById(params) {
383
- return __awaiter(this, void 0, void 0, function* () {
384
- const doc = yield this.offerCatalogModel.findOne({
385
- 'project.id': { $eq: params.project.id },
386
- _id: { $eq: params.id }
387
- }, { 'itemListElement.id': 1, _id: 0 })
388
- .lean() // lean(2024-09-24~)
389
- .exec();
390
- if (doc === null) {
391
- throw new factory.errors.NotFound(this.offerCatalogModel.modelName);
392
- }
393
- return doc;
394
- });
368
+ async findItemListElementById(params) {
369
+ const doc = await this.offerCatalogModel.findOne({
370
+ 'project.id': { $eq: params.project.id },
371
+ _id: { $eq: params.id }
372
+ }, { 'itemListElement.id': 1, _id: 0 })
373
+ .lean() // lean(2024-09-24~)
374
+ .exec();
375
+ if (doc === null) {
376
+ throw new factory.errors.NotFound(this.offerCatalogModel.modelName);
377
+ }
378
+ return doc;
395
379
  }
396
380
  /**
397
381
  * 一つ目のitemListElementを取得する
398
382
  */
399
- findFirstItemListElementById(params) {
400
- return __awaiter(this, void 0, void 0, function* () {
401
- var _a;
402
- const aggregate = this.offerCatalogModel.aggregate([
403
- {
404
- $match: { _id: { $eq: params.id } }
405
- },
406
- {
407
- $project: {
408
- firstElement: { $first: '$itemListElement' }
409
- }
383
+ async findFirstItemListElementById(params) {
384
+ const aggregate = this.offerCatalogModel.aggregate([
385
+ {
386
+ $match: { _id: { $eq: params.id } }
387
+ },
388
+ {
389
+ $project: {
390
+ firstElement: { $first: '$itemListElement' }
410
391
  }
411
- ]);
412
- const catalogs = yield aggregate.exec();
413
- const firstElement = (_a = catalogs.shift()) === null || _a === void 0 ? void 0 : _a.firstElement;
414
- if (firstElement === undefined) {
415
- throw new factory.errors.NotFound(this.offerCatalogModel.modelName);
416
392
  }
417
- return firstElement;
418
- });
393
+ ]);
394
+ const catalogs = await aggregate.exec();
395
+ const firstElement = catalogs.shift()?.firstElement;
396
+ if (firstElement === undefined) {
397
+ throw new factory.errors.NotFound(this.offerCatalogModel.modelName);
398
+ }
399
+ return firstElement;
419
400
  }
420
401
  /**
421
402
  * カタログのitemListElementをpaging有で検索する
@@ -452,117 +433,105 @@ class OfferCatalogRepo {
452
433
  * カタログのitemListElementをpaging有で検索する
453
434
  * reimplement using $slice(2025-05-06=)
454
435
  */
455
- sliceItemListElementById(params) {
456
- return __awaiter(this, void 0, void 0, function* () {
457
- const { id, limit, page } = params;
458
- if (limit < 1 || limit > SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT) {
459
- throw new factory.errors.Argument('limit', `must be >=1 and <=${SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT}`);
460
- }
461
- const pageMustBePositive = (typeof page === 'number' && page > 0) ? page : 1;
462
- const skip = params.limit * (pageMustBePositive - 1);
463
- const doc = yield this.offerCatalogModel.findOne({ _id: { $eq: id } }, {
464
- _id: 1,
465
- itemListElement: { $slice: [skip, limit] }
466
- })
467
- .lean()
468
- .exec();
469
- // console.log(doc);
470
- return (doc !== null)
471
- ? doc.itemListElement.map((item, i) => ({ id: item.id, elementIndex: i + skip }))
472
- : [];
473
- });
436
+ async sliceItemListElementById(params) {
437
+ const { id, limit, page } = params;
438
+ if (limit < 1 || limit > SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT) {
439
+ throw new factory.errors.Argument('limit', `must be >=1 and <=${SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT}`);
440
+ }
441
+ const pageMustBePositive = (typeof page === 'number' && page > 0) ? page : 1;
442
+ const skip = params.limit * (pageMustBePositive - 1);
443
+ const doc = await this.offerCatalogModel.findOne({ _id: { $eq: id } }, {
444
+ _id: 1,
445
+ itemListElement: { $slice: [skip, limit] }
446
+ })
447
+ .lean()
448
+ .exec();
449
+ // console.log(doc);
450
+ return (doc !== null)
451
+ ? doc.itemListElement.map((item, i) => ({ id: item.id, elementIndex: i + skip }))
452
+ : [];
474
453
  }
475
454
  /**
476
455
  * カタログIDとアイテムIDからアイテムを全て検索する
477
456
  */
478
- searchItemListElement(params) {
479
- return __awaiter(this, void 0, void 0, function* () {
480
- const matchStages = [
481
- { $match: { _id: { $in: params.id.$in } } },
482
- { $match: { 'itemListElement.id': { $exists: true, $in: params.itemListElement.id.$in } } }
483
- ];
484
- return this.offerCatalogModel.aggregate([
485
- {
486
- $unwind: {
487
- path: '$itemListElement'
488
- }
489
- },
490
- ...matchStages,
491
- {
492
- $group: {
493
- _id: '$itemListElement.id'
494
- }
495
- },
496
- {
497
- $project: {
498
- _id: 0,
499
- id: '$_id'
500
- }
457
+ async searchItemListElement(params) {
458
+ const matchStages = [
459
+ { $match: { _id: { $in: params.id.$in } } },
460
+ { $match: { 'itemListElement.id': { $exists: true, $in: params.itemListElement.id.$in } } }
461
+ ];
462
+ return this.offerCatalogModel.aggregate([
463
+ {
464
+ $unwind: {
465
+ path: '$itemListElement'
501
466
  }
502
- ])
503
- .exec();
504
- });
467
+ },
468
+ ...matchStages,
469
+ {
470
+ $group: {
471
+ _id: '$itemListElement.id'
472
+ }
473
+ },
474
+ {
475
+ $project: {
476
+ _id: 0,
477
+ id: '$_id'
478
+ }
479
+ }
480
+ ])
481
+ .exec();
505
482
  }
506
- deleteById(params) {
507
- return __awaiter(this, void 0, void 0, function* () {
508
- yield this.offerCatalogModel.findOneAndDelete({ _id: { $eq: params.id } }, { projection: { _id: 1 } })
509
- .exec();
510
- });
483
+ async deleteById(params) {
484
+ await this.offerCatalogModel.findOneAndDelete({ _id: { $eq: params.id } }, { projection: { _id: 1 } })
485
+ .exec();
511
486
  }
512
- deleteByProject(params) {
513
- return __awaiter(this, void 0, void 0, function* () {
514
- yield this.offerCatalogModel.deleteMany({
515
- 'project.id': { $eq: params.project.id }
516
- })
517
- .exec();
518
- });
487
+ async deleteByProject(params) {
488
+ await this.offerCatalogModel.deleteMany({
489
+ 'project.id': { $eq: params.project.id }
490
+ })
491
+ .exec();
519
492
  }
520
493
  getCursor(conditions, projection) {
521
494
  return this.offerCatalogModel.find(conditions, projection)
522
495
  .sort({ identifier: factory.sortType.Descending })
523
496
  .cursor();
524
497
  }
525
- unsetUnnecessaryFields(params) {
526
- return __awaiter(this, void 0, void 0, function* () {
527
- return this.offerCatalogModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
528
- .exec();
529
- });
498
+ async unsetUnnecessaryFields(params) {
499
+ return this.offerCatalogModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
500
+ .exec();
530
501
  }
531
- aggregateItemList(params) {
532
- return __awaiter(this, void 0, void 0, function* () {
533
- const matchConditions = {
534
- 'itemListElement.typeOf': { $eq: params.itemListElement.typeOf.$eq }
535
- };
536
- const aggregations = yield this.offerCatalogModel.aggregate([
537
- { $match: matchConditions },
538
- {
539
- $project: {
540
- numItemListElement: { $size: '$itemListElement' }
541
- }
542
- },
543
- {
544
- $group: {
545
- _id: '$typeOf',
546
- maxNumItemListElement: { $max: '$numItemListElement' },
547
- minNumItemListElement: { $min: '$numItemListElement' }
548
- }
549
- },
550
- {
551
- $project: {
552
- _id: 0,
553
- maxNumItemListElement: '$maxNumItemListElement',
554
- minNumItemListElement: '$minNumItemListElement'
555
- }
502
+ async aggregateItemList(params) {
503
+ const matchConditions = {
504
+ 'itemListElement.typeOf': { $eq: params.itemListElement.typeOf.$eq }
505
+ };
506
+ const aggregations = await this.offerCatalogModel.aggregate([
507
+ { $match: matchConditions },
508
+ {
509
+ $project: {
510
+ numItemListElement: { $size: '$itemListElement' }
511
+ }
512
+ },
513
+ {
514
+ $group: {
515
+ _id: '$typeOf',
516
+ maxNumItemListElement: { $max: '$numItemListElement' },
517
+ minNumItemListElement: { $min: '$numItemListElement' }
518
+ }
519
+ },
520
+ {
521
+ $project: {
522
+ _id: 0,
523
+ maxNumItemListElement: '$maxNumItemListElement',
524
+ minNumItemListElement: '$minNumItemListElement'
556
525
  }
557
- ])
558
- .exec();
559
- if (aggregations.length === 0) {
560
- return {
561
- aggregation: {}
562
- };
563
526
  }
564
- return { aggregation: aggregations[0] };
565
- });
527
+ ])
528
+ .exec();
529
+ if (aggregations.length === 0) {
530
+ return {
531
+ aggregation: {}
532
+ };
533
+ }
534
+ return { aggregation: aggregations[0] };
566
535
  }
567
536
  }
568
537
  exports.OfferCatalogRepo = OfferCatalogRepo;