@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.OfferCatalogItemRepo = void 0;
24
4
  const mongoose_1 = require("mongoose");
@@ -42,19 +22,19 @@ const SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT = 100;
42
22
  * サブカタログリポジトリ
43
23
  */
44
24
  class OfferCatalogItemRepo {
25
+ offerCatalogItemModel;
45
26
  constructor(connection) {
46
27
  this.offerCatalogItemModel = connection.model(offerCatalogItem_1.modelName, (0, offerCatalogItem_1.createSchema)());
47
28
  }
48
29
  // tslint:disable-next-line:max-func-body-length
49
30
  static CREATE_MONGO_CONDITIONS(params) {
50
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
51
31
  // MongoDB検索条件
52
32
  const andConditions = [];
53
- 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;
54
34
  if (typeof projectIdEq === 'string') {
55
35
  andConditions.push({ 'project.id': { $eq: projectIdEq } });
56
36
  }
57
- const idIn = (_c = params.id) === null || _c === void 0 ? void 0 : _c.$in;
37
+ const idIn = params.id?.$in;
58
38
  if (Array.isArray(idIn)) {
59
39
  andConditions.push({ _id: { $in: idIn.map((id) => new mongoose_1.Types.ObjectId(id)) } });
60
40
  }
@@ -62,15 +42,15 @@ class OfferCatalogItemRepo {
62
42
  // if (typeof idRegex === 'string' && idRegex.length > 0) {
63
43
  // andConditions.push({ _id: { $regex: new RegExp(idRegex) } });
64
44
  // }
65
- const identifierEq = (_d = params.identifier) === null || _d === void 0 ? void 0 : _d.$eq;
45
+ const identifierEq = params.identifier?.$eq;
66
46
  if (typeof identifierEq === 'string') {
67
47
  andConditions.push({ identifier: { $eq: identifierEq } });
68
48
  }
69
- const identifierIn = (_e = params.identifier) === null || _e === void 0 ? void 0 : _e.$in;
49
+ const identifierIn = params.identifier?.$in;
70
50
  if (Array.isArray(identifierIn)) {
71
51
  andConditions.push({ identifier: { $in: identifierIn } });
72
52
  }
73
- const identifierRegex = (_f = params.identifier) === null || _f === void 0 ? void 0 : _f.$regex;
53
+ const identifierRegex = params.identifier?.$regex;
74
54
  if (typeof identifierRegex === 'string' && identifierRegex.length > 0) {
75
55
  andConditions.push({ identifier: { $regex: new RegExp(identifierRegex) } });
76
56
  }
@@ -82,35 +62,35 @@ class OfferCatalogItemRepo {
82
62
  ]
83
63
  });
84
64
  }
85
- const itemListElementTypeOfEq = (_h = (_g = params.itemListElement) === null || _g === void 0 ? void 0 : _g.typeOf) === null || _h === void 0 ? void 0 : _h.$eq;
65
+ const itemListElementTypeOfEq = params.itemListElement?.typeOf?.$eq;
86
66
  if (typeof itemListElementTypeOfEq === 'string') {
87
67
  andConditions.push({ 'itemListElement.typeOf': { $exists: true, $eq: itemListElementTypeOfEq } });
88
68
  }
89
- const itemListElementIdIn = (_k = (_j = params.itemListElement) === null || _j === void 0 ? void 0 : _j.id) === null || _k === void 0 ? void 0 : _k.$in;
69
+ const itemListElementIdIn = params.itemListElement?.id?.$in;
90
70
  if (Array.isArray(itemListElementIdIn)) {
91
71
  andConditions.push({ 'itemListElement.id': { $exists: true, $in: itemListElementIdIn } });
92
72
  }
93
- const itemListElementIdNin = (_m = (_l = params.itemListElement) === null || _l === void 0 ? void 0 : _l.id) === null || _m === void 0 ? void 0 : _m.$nin;
73
+ const itemListElementIdNin = params.itemListElement?.id?.$nin;
94
74
  if (Array.isArray(itemListElementIdNin)) {
95
75
  andConditions.push({ 'itemListElement.id': { $nin: itemListElementIdNin } });
96
76
  }
97
- const itemListElementIdAll = (_p = (_o = params.itemListElement) === null || _o === void 0 ? void 0 : _o.id) === null || _p === void 0 ? void 0 : _p.$all;
77
+ const itemListElementIdAll = params.itemListElement?.id?.$all;
98
78
  if (Array.isArray(itemListElementIdAll)) {
99
79
  andConditions.push({ 'itemListElement.id': { $exists: true, $all: itemListElementIdAll } });
100
80
  }
101
- const itemOfferedTypeOfEq = (_r = (_q = params.itemOffered) === null || _q === void 0 ? void 0 : _q.typeOf) === null || _r === void 0 ? void 0 : _r.$eq;
81
+ const itemOfferedTypeOfEq = params.itemOffered?.typeOf?.$eq;
102
82
  if (typeof itemOfferedTypeOfEq === 'string') {
103
83
  andConditions.push({ 'itemOffered.typeOf': { $exists: true, $eq: itemOfferedTypeOfEq } });
104
84
  }
105
- const itemOfferedServiceTypeCodeValueEq = (_u = (_t = (_s = params.itemOffered) === null || _s === void 0 ? void 0 : _s.serviceType) === null || _t === void 0 ? void 0 : _t.codeValue) === null || _u === void 0 ? void 0 : _u.$eq;
85
+ const itemOfferedServiceTypeCodeValueEq = params.itemOffered?.serviceType?.codeValue?.$eq;
106
86
  if (typeof itemOfferedServiceTypeCodeValueEq === 'string') {
107
87
  andConditions.push({ 'itemOffered.serviceType.codeValue': { $exists: true, $eq: itemOfferedServiceTypeCodeValueEq } });
108
88
  }
109
- const additionalPropertyElemMatch = (_v = params.additionalProperty) === null || _v === void 0 ? void 0 : _v.$elemMatch;
89
+ const additionalPropertyElemMatch = params.additionalProperty?.$elemMatch;
110
90
  if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
111
91
  andConditions.push({ additionalProperty: { $exists: true, $elemMatch: additionalPropertyElemMatch } });
112
92
  }
113
- const appliesToMovieTicketServiceOutputTypeOfIn = (_0 = (_z = (_y = (_x = (_w = params.relatedOffer) === null || _w === void 0 ? void 0 : _w.priceSpecification) === null || _x === void 0 ? void 0 : _x.appliesToMovieTicket) === null || _y === void 0 ? void 0 : _y.serviceOutput) === null || _z === void 0 ? void 0 : _z.typeOf) === null || _0 === void 0 ? void 0 : _0.$in;
93
+ const appliesToMovieTicketServiceOutputTypeOfIn = params.relatedOffer?.priceSpecification?.appliesToMovieTicket?.serviceOutput?.typeOf?.$in;
114
94
  if (Array.isArray(appliesToMovieTicketServiceOutputTypeOfIn)) {
115
95
  andConditions.push({
116
96
  'relatedOffer.priceSpecification.appliesToMovieTicket.serviceOutput.typeOf': {
@@ -121,126 +101,131 @@ class OfferCatalogItemRepo {
121
101
  }
122
102
  return andConditions;
123
103
  }
124
- save(params) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- let doc;
127
- if (typeof params.id !== 'string' || params.id.length === 0) {
128
- const { id, $unset } = params, creatingDoc = __rest(params, ["id", "$unset"]);
129
- doc = yield this.offerCatalogItemModel.create(creatingDoc);
130
- }
131
- else {
132
- const { id, identifier, project, typeOf, $unset } = params, updateFields = __rest(params, ["id", "identifier", "project", "typeOf", "$unset"]);
133
- doc = yield this.offerCatalogItemModel.findOneAndUpdate({ _id: { $eq: params.id } }, Object.assign({ $set: updateFields }, (params.$unset !== undefined) ? { $unset: params.$unset } : undefined), { upsert: false, new: true, projection: { _id: 1 } })
134
- .exec();
135
- }
136
- if (doc === null) {
137
- throw new factory.errors.NotFound(this.offerCatalogItemModel.modelName);
138
- }
139
- return { id: doc.id };
140
- });
104
+ async save(params) {
105
+ let doc;
106
+ if (typeof params.id !== 'string' || params.id.length === 0) {
107
+ const { id, $unset, ...creatingDoc } = params;
108
+ doc = await this.offerCatalogItemModel.create(creatingDoc);
109
+ }
110
+ else {
111
+ const { id, identifier, project, typeOf, $unset, ...updateFields } = params;
112
+ doc = await this.offerCatalogItemModel.findOneAndUpdate({ _id: { $eq: params.id } }, {
113
+ $set: updateFields,
114
+ ...(params.$unset !== undefined) ? { $unset: params.$unset } : undefined
115
+ }, { upsert: false, new: true, projection: { _id: 1 } })
116
+ .exec();
117
+ }
118
+ if (doc === null) {
119
+ throw new factory.errors.NotFound(this.offerCatalogItemModel.modelName);
120
+ }
121
+ return { id: doc.id };
141
122
  }
142
123
  /**
143
124
  * プロジェクトとコードから冪等保管
144
125
  */
145
- saveByIdentifier(params) {
146
- return __awaiter(this, void 0, void 0, function* () {
147
- const { id, identifier, project, typeOf } = params, updateFields = __rest(params, ["id", "identifier", "project", "typeOf"]);
148
- const doc = yield this.offerCatalogItemModel.findOneAndUpdate({
149
- identifier: { $eq: params.identifier },
150
- 'project.id': { $eq: params.project.id }
151
- }, {
152
- $set: updateFields,
153
- $setOnInsert: { identifier, project, typeOf }
154
- }, { upsert: true, new: true })
155
- .exec();
156
- return { id: doc.id };
157
- });
126
+ async saveByIdentifier(params) {
127
+ const { id, identifier, project, typeOf, ...updateFields } = params;
128
+ const doc = await this.offerCatalogItemModel.findOneAndUpdate({
129
+ identifier: { $eq: params.identifier },
130
+ 'project.id': { $eq: params.project.id }
131
+ }, {
132
+ $set: updateFields,
133
+ $setOnInsert: { identifier, project, typeOf }
134
+ }, { upsert: true, new: true })
135
+ .exec();
136
+ return { id: doc.id };
158
137
  }
159
138
  /**
160
139
  * コードをキーにして冪等置換(2023-12-14~)
161
140
  */
162
- upsertManyByIdentifier(params, options) {
163
- return __awaiter(this, void 0, void 0, function* () {
164
- const { productType, update } = options;
165
- const bulkWriteOps = [];
166
- const queryFilters = [];
167
- if (Array.isArray(params)) {
168
- params.forEach(({ $set, $unset }) => {
169
- const { id, identifier, project, typeOf } = $set, setFields = __rest($set, ["id", "identifier", "project", "typeOf"]);
170
- if (typeof identifier !== 'string' || identifier.length === 0) {
171
- throw new factory.errors.ArgumentNull('identifier');
172
- }
173
- // 指定されたproductTypeを強制する
174
- if (setFields.itemOffered.typeOf !== productType) {
175
- throw new factory.errors.Argument('itemOffered.typeOf', `not matched with productType: ${productType}`);
176
- }
177
- // リソースのユニークネスを保証するfilter
178
- const filter = {
179
- 'project.id': { $eq: project.id },
180
- identifier: { $eq: identifier },
181
- 'itemOffered.typeOf': { $exists: true, $eq: productType } // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
182
- };
183
- queryFilters.push({
184
- 'project.id': { $eq: project.id },
185
- identifier: { $eq: identifier },
186
- 'itemOffered.typeOf': { $exists: true, $eq: productType } // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
187
- });
188
- if (update === true) {
189
- const updateOne = {
190
- filter,
191
- update: Object.assign({ $set: setFields }, ($unset !== undefined) ? { $unset } : undefined),
192
- upsert: false
193
- };
194
- bulkWriteOps.push({ updateOne });
195
- }
196
- else {
197
- // デフォルトはupsert操作
198
- const setOnInsert = {
199
- identifier,
200
- project,
201
- typeOf
202
- };
203
- const updateOne = {
204
- filter,
205
- update: Object.assign({ $setOnInsert: setOnInsert, $set: setFields }, ($unset !== undefined) ? { $unset } : undefined),
206
- upsert: true
207
- };
208
- bulkWriteOps.push({ updateOne });
209
- }
141
+ async upsertManyByIdentifier(params, options) {
142
+ const { productType, update } = options;
143
+ const bulkWriteOps = [];
144
+ const queryFilters = [];
145
+ if (Array.isArray(params)) {
146
+ params.forEach(({ $set, $unset }) => {
147
+ const { id, identifier, project, typeOf, ...setFields } = $set;
148
+ if (typeof identifier !== 'string' || identifier.length === 0) {
149
+ throw new factory.errors.ArgumentNull('identifier');
150
+ }
151
+ // 指定されたproductTypeを強制する
152
+ if (setFields.itemOffered.typeOf !== productType) {
153
+ throw new factory.errors.Argument('itemOffered.typeOf', `not matched with productType: ${productType}`);
154
+ }
155
+ // リソースのユニークネスを保証するfilter
156
+ const filter = {
157
+ 'project.id': { $eq: project.id },
158
+ identifier: { $eq: identifier },
159
+ 'itemOffered.typeOf': { $exists: true, $eq: productType } // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
160
+ };
161
+ queryFilters.push({
162
+ 'project.id': { $eq: project.id },
163
+ identifier: { $eq: identifier },
164
+ 'itemOffered.typeOf': { $exists: true, $eq: productType } // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
210
165
  });
211
- }
212
- if (bulkWriteOps.length > 0) {
213
- const bulkWriteResult = yield this.offerCatalogItemModel.bulkWrite(bulkWriteOps, { ordered: false });
214
- // modifiedの場合upsertedIdsに含まれないので、idを検索する
215
- const modifiedCatalogs = yield this.offerCatalogItemModel.find({ $or: queryFilters }, { _id: 1 })
216
- .exec();
217
- return { bulkWriteResult, modifiedCatalogs };
218
- }
219
- });
166
+ if (update === true) {
167
+ const updateOne = {
168
+ filter,
169
+ update: {
170
+ $set: setFields,
171
+ ...($unset !== undefined) ? { $unset } : undefined
172
+ },
173
+ upsert: false
174
+ };
175
+ bulkWriteOps.push({ updateOne });
176
+ }
177
+ else {
178
+ // デフォルトはupsert操作
179
+ const setOnInsert = {
180
+ identifier,
181
+ project,
182
+ typeOf
183
+ };
184
+ const updateOne = {
185
+ filter,
186
+ update: {
187
+ $setOnInsert: setOnInsert,
188
+ $set: setFields,
189
+ ...($unset !== undefined) ? { $unset } : undefined
190
+ },
191
+ upsert: true
192
+ };
193
+ bulkWriteOps.push({ updateOne });
194
+ }
195
+ });
196
+ }
197
+ if (bulkWriteOps.length > 0) {
198
+ const bulkWriteResult = await this.offerCatalogItemModel.bulkWrite(bulkWriteOps, { ordered: false });
199
+ // modifiedの場合upsertedIdsに含まれないので、idを検索する
200
+ const modifiedCatalogs = await this.offerCatalogItemModel.find({ $or: queryFilters }, { _id: 1 })
201
+ .exec();
202
+ return { bulkWriteResult, modifiedCatalogs };
203
+ }
220
204
  }
221
205
  /**
222
206
  * 同期日時を更新する
223
207
  */
224
- updateDateSynced(params) {
225
- return __awaiter(this, void 0, void 0, function* () {
226
- yield this.offerCatalogItemModel.updateOne({ _id: { $eq: params.id } }, { $set: { dateSynced: params.dateSynced } })
227
- .exec();
228
- });
208
+ async updateDateSynced(params) {
209
+ await this.offerCatalogItemModel.updateOne({ _id: { $eq: params.id } }, { $set: { dateSynced: params.dateSynced } })
210
+ .exec();
229
211
  }
230
- updateManyById(params) {
231
- return __awaiter(this, void 0, void 0, function* () {
232
- if (!Array.isArray(params.id.$in) || params.id.$in.length === 0) {
233
- return;
234
- }
235
- const pushItemListElementIds = params.$push.itemListElement.$each.map((element) => element.id);
236
- yield this.offerCatalogItemModel.updateMany(Object.assign({ _id: { $in: params.id.$in } }, (pushItemListElementIds.length > 0)
212
+ async updateManyById(params) {
213
+ if (!Array.isArray(params.id.$in) || params.id.$in.length === 0) {
214
+ return;
215
+ }
216
+ const pushItemListElementIds = params.$push.itemListElement.$each.map((element) => element.id);
217
+ await this.offerCatalogItemModel.updateMany({
218
+ _id: { $in: params.id.$in },
219
+ ...(pushItemListElementIds.length > 0)
237
220
  // itemListElementのユニークネスを保証する
238
221
  ? {
239
222
  'itemListElement.id': {
240
223
  $nin: pushItemListElementIds
241
224
  }
242
225
  }
243
- : undefined), Object.assign(Object.assign({}, (pushItemListElementIds.length > 0)
226
+ : undefined
227
+ }, {
228
+ ...(pushItemListElementIds.length > 0)
244
229
  ? {
245
230
  $push: {
246
231
  itemListElement: {
@@ -249,7 +234,8 @@ class OfferCatalogItemRepo {
249
234
  }
250
235
  }
251
236
  }
252
- : undefined), (params.$pull.itemListElement.$elemMatch.id.$in.length > 0)
237
+ : undefined,
238
+ ...(params.$pull.itemListElement.$elemMatch.id.$in.length > 0)
253
239
  ? {
254
240
  $pull: {
255
241
  itemListElement: {
@@ -257,41 +243,40 @@ class OfferCatalogItemRepo {
257
243
  }
258
244
  }
259
245
  }
260
- : undefined))
261
- .exec();
262
- });
246
+ : undefined
247
+ })
248
+ .exec();
263
249
  }
264
- count(params) {
265
- return __awaiter(this, void 0, void 0, function* () {
266
- const conditions = OfferCatalogItemRepo.CREATE_MONGO_CONDITIONS(params);
267
- const matchStages = conditions.map((condition) => {
268
- return { $match: condition };
269
- });
270
- const result = yield this.offerCatalogItemModel.aggregate([
271
- ...matchStages,
272
- {
273
- $count: 'numItems'
274
- }
275
- ])
276
- .exec();
277
- return (result.length > 0) ? result[0].numItems : 0;
250
+ async count(params) {
251
+ const conditions = OfferCatalogItemRepo.CREATE_MONGO_CONDITIONS(params);
252
+ const matchStages = conditions.map((condition) => {
253
+ return { $match: condition };
278
254
  });
279
- }
280
- projectFields(params, inclusion) {
281
- return __awaiter(this, void 0, void 0, function* () {
282
- var _a;
283
- const conditions = OfferCatalogItemRepo.CREATE_MONGO_CONDITIONS(params);
284
- const matchStages = conditions.map((condition) => {
285
- return { $match: condition };
286
- });
287
- let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
288
- if (Array.isArray(inclusion) && inclusion.length > 0) {
289
- positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
290
- }
291
- else {
292
- // throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
255
+ const result = await this.offerCatalogItemModel.aggregate([
256
+ ...matchStages,
257
+ {
258
+ $count: 'numItems'
293
259
  }
294
- const projection = Object.assign({ _id: 0, id: { $toString: '$_id' } }, Object.fromEntries(positiveProjectionFields.map((key) => {
260
+ ])
261
+ .exec();
262
+ return (result.length > 0) ? result[0].numItems : 0;
263
+ }
264
+ async projectFields(params, inclusion) {
265
+ const conditions = OfferCatalogItemRepo.CREATE_MONGO_CONDITIONS(params);
266
+ const matchStages = conditions.map((condition) => {
267
+ return { $match: condition };
268
+ });
269
+ let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
270
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
271
+ positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
272
+ }
273
+ else {
274
+ // throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
275
+ }
276
+ const projection = {
277
+ _id: 0,
278
+ id: { $toString: '$_id' },
279
+ ...Object.fromEntries(positiveProjectionFields.map((key) => {
295
280
  let value;
296
281
  switch (key) {
297
282
  case 'numberOfItems':
@@ -310,169 +295,157 @@ class OfferCatalogItemRepo {
310
295
  value = 1;
311
296
  }
312
297
  return [key, value];
313
- })));
314
- // let projectStage: { [field: string]: AnyExpression } = {
315
- // _id: 0,
316
- // name: '$name',
317
- // description: '$description',
318
- // project: '$project',
319
- // typeOf: '$typeOf',
320
- // id: { $toString: '$_id' },
321
- // identifier: '$identifier',
322
- // itemOffered: '$itemOffered',
323
- // additionalProperty: '$additionalProperty',
324
- // relatedOffer: '$relatedOffer',
325
- // numberOfItems: {
326
- // $cond: {
327
- // if: { $isArray: '$itemListElement' },
328
- // then: { $size: '$itemListElement' },
329
- // else: 0
330
- // }
331
- // },
332
- // itemListElementTypeOf: { $first: '$itemListElement.typeOf' },
333
- // dateSynced: '$dateSynced'
334
- // };
335
- // const positiveProjectionFields: string[] = Object.keys(projection)
336
- // .filter((key) => projection[<KeyOfOfferCatalogItem>key] !== 0);
337
- // const negativeProjectionFields: string[] = Object.keys(projection)
338
- // .filter((key) => projection[<KeyOfOfferCatalogItem>key] === 0);
339
- // if (positiveProjectionFields.length > 0) {
340
- // projectStage = {
341
- // _id: 0,
342
- // id: { $toString: '$_id' }
343
- // };
344
- // positiveProjectionFields.forEach((field) => {
345
- // if (field !== '_id' && field !== 'id') {
346
- // projectStage[field] = `$${field}`;
347
- // }
348
- // });
349
- // } else if (negativeProjectionFields.length > 0) {
350
- // negativeProjectionFields.forEach((field) => {
351
- // if (projectStage[field] !== undefined && projectStage[field] !== null) {
352
- // // tslint:disable-next-line:no-dynamic-delete
353
- // delete projectStage[field];
354
- // }
355
- // });
356
- // }
357
- const aggregate = this.offerCatalogItemModel.aggregate([
358
- ...(((_a = params.sort) === null || _a === void 0 ? void 0 : _a.identifier) !== undefined) ? [{ $sort: { identifier: params.sort.identifier } }] : [],
359
- ...matchStages,
360
- { $project: projection }
361
- ]);
362
- if (typeof params.limit === 'number' && params.limit > 0) {
363
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
364
- aggregate.limit(params.limit * page)
365
- .skip(params.limit * (page - 1));
366
- }
367
- return aggregate.exec();
368
- });
298
+ }))
299
+ };
300
+ // let projectStage: { [field: string]: AnyExpression } = {
301
+ // _id: 0,
302
+ // name: '$name',
303
+ // description: '$description',
304
+ // project: '$project',
305
+ // typeOf: '$typeOf',
306
+ // id: { $toString: '$_id' },
307
+ // identifier: '$identifier',
308
+ // itemOffered: '$itemOffered',
309
+ // additionalProperty: '$additionalProperty',
310
+ // relatedOffer: '$relatedOffer',
311
+ // numberOfItems: {
312
+ // $cond: {
313
+ // if: { $isArray: '$itemListElement' },
314
+ // then: { $size: '$itemListElement' },
315
+ // else: 0
316
+ // }
317
+ // },
318
+ // itemListElementTypeOf: { $first: '$itemListElement.typeOf' },
319
+ // dateSynced: '$dateSynced'
320
+ // };
321
+ // const positiveProjectionFields: string[] = Object.keys(projection)
322
+ // .filter((key) => projection[<KeyOfOfferCatalogItem>key] !== 0);
323
+ // const negativeProjectionFields: string[] = Object.keys(projection)
324
+ // .filter((key) => projection[<KeyOfOfferCatalogItem>key] === 0);
325
+ // if (positiveProjectionFields.length > 0) {
326
+ // projectStage = {
327
+ // _id: 0,
328
+ // id: { $toString: '$_id' }
329
+ // };
330
+ // positiveProjectionFields.forEach((field) => {
331
+ // if (field !== '_id' && field !== 'id') {
332
+ // projectStage[field] = `$${field}`;
333
+ // }
334
+ // });
335
+ // } else if (negativeProjectionFields.length > 0) {
336
+ // negativeProjectionFields.forEach((field) => {
337
+ // if (projectStage[field] !== undefined && projectStage[field] !== null) {
338
+ // // tslint:disable-next-line:no-dynamic-delete
339
+ // delete projectStage[field];
340
+ // }
341
+ // });
342
+ // }
343
+ const aggregate = this.offerCatalogItemModel.aggregate([
344
+ ...(params.sort?.identifier !== undefined) ? [{ $sort: { identifier: params.sort.identifier } }] : [],
345
+ ...matchStages,
346
+ { $project: projection }
347
+ ]);
348
+ if (typeof params.limit === 'number' && params.limit > 0) {
349
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
350
+ aggregate.limit(params.limit * page)
351
+ .skip(params.limit * (page - 1));
352
+ }
353
+ return aggregate.exec();
369
354
  }
370
- findItemListElementById(params) {
371
- return __awaiter(this, void 0, void 0, function* () {
372
- const doc = yield this.offerCatalogItemModel.findOne({
373
- 'project.id': { $eq: params.project.id },
374
- _id: { $eq: params.id }
375
- }, { 'itemListElement.id': 1, _id: 0 })
376
- .lean() // lean(2024-09-24~)
377
- .exec();
378
- if (doc === null) {
379
- throw new factory.errors.NotFound(this.offerCatalogItemModel.modelName);
380
- }
381
- return doc;
382
- });
355
+ async findItemListElementById(params) {
356
+ const doc = await this.offerCatalogItemModel.findOne({
357
+ 'project.id': { $eq: params.project.id },
358
+ _id: { $eq: params.id }
359
+ }, { 'itemListElement.id': 1, _id: 0 })
360
+ .lean() // lean(2024-09-24~)
361
+ .exec();
362
+ if (doc === null) {
363
+ throw new factory.errors.NotFound(this.offerCatalogItemModel.modelName);
364
+ }
365
+ return doc;
383
366
  }
384
367
  /**
385
368
  * カタログのitemListElementをpaging有で検索する
386
369
  * reimplement using $slice(2025-05-06=)
387
370
  */
388
- sliceItemListElementById(params) {
389
- return __awaiter(this, void 0, void 0, function* () {
390
- const { id, limit, page } = params;
391
- if (limit < 1 || limit > SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT) {
392
- throw new factory.errors.Argument('limit', `must be >=1 and <=${SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT}`);
393
- }
394
- const pageMustBePositive = (typeof page === 'number' && page > 0) ? page : 1;
395
- const skip = params.limit * (pageMustBePositive - 1);
396
- const doc = yield this.offerCatalogItemModel.findOne({ _id: { $eq: id } }, {
397
- _id: 1,
398
- itemListElement: { $slice: [skip, limit] }
399
- })
400
- .lean()
401
- .exec();
402
- // console.log(doc);
403
- return (doc !== null)
404
- ? doc.itemListElement.map((item, i) => ({ id: item.id, elementIndex: i + skip }))
405
- : [];
406
- });
371
+ async sliceItemListElementById(params) {
372
+ const { id, limit, page } = params;
373
+ if (limit < 1 || limit > SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT) {
374
+ throw new factory.errors.Argument('limit', `must be >=1 and <=${SLICE_ITEM_LIST_ELEMENT_MAX_LIMIT}`);
375
+ }
376
+ const pageMustBePositive = (typeof page === 'number' && page > 0) ? page : 1;
377
+ const skip = params.limit * (pageMustBePositive - 1);
378
+ const doc = await this.offerCatalogItemModel.findOne({ _id: { $eq: id } }, {
379
+ _id: 1,
380
+ itemListElement: { $slice: [skip, limit] }
381
+ })
382
+ .lean()
383
+ .exec();
384
+ // console.log(doc);
385
+ return (doc !== null)
386
+ ? doc.itemListElement.map((item, i) => ({ id: item.id, elementIndex: i + skip }))
387
+ : [];
407
388
  }
408
- deleteById(params) {
409
- return __awaiter(this, void 0, void 0, function* () {
410
- yield this.offerCatalogItemModel.findOneAndDelete({ _id: { $eq: params.id } }, { projection: { _id: 1 } })
411
- .exec();
412
- });
389
+ async deleteById(params) {
390
+ await this.offerCatalogItemModel.findOneAndDelete({ _id: { $eq: params.id } }, { projection: { _id: 1 } })
391
+ .exec();
413
392
  }
414
- pullItemListElement(params) {
415
- return __awaiter(this, void 0, void 0, function* () {
416
- if (params.$pull.itemListElement.$elemMatch.id.$in.length === 0) {
417
- return;
393
+ async pullItemListElement(params) {
394
+ if (params.$pull.itemListElement.$elemMatch.id.$in.length === 0) {
395
+ return;
396
+ }
397
+ return this.offerCatalogItemModel.updateMany({
398
+ 'project.id': { $eq: params.project.id },
399
+ 'itemListElement.id': {
400
+ $exists: true,
401
+ $in: params.$pull.itemListElement.$elemMatch.id.$in
418
402
  }
419
- return this.offerCatalogItemModel.updateMany({
420
- 'project.id': { $eq: params.project.id },
421
- 'itemListElement.id': {
422
- $exists: true,
423
- $in: params.$pull.itemListElement.$elemMatch.id.$in
403
+ }, {
404
+ $pull: {
405
+ itemListElement: {
406
+ id: { $in: params.$pull.itemListElement.$elemMatch.id.$in }
424
407
  }
425
- }, {
426
- $pull: {
427
- itemListElement: {
428
- id: { $in: params.$pull.itemListElement.$elemMatch.id.$in }
429
- }
430
- }
431
- })
432
- .exec();
433
- });
408
+ }
409
+ })
410
+ .exec();
434
411
  }
435
- unsetUnnecessaryFields(params) {
436
- return __awaiter(this, void 0, void 0, function* () {
437
- return this.offerCatalogItemModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
438
- .exec();
439
- });
412
+ async unsetUnnecessaryFields(params) {
413
+ return this.offerCatalogItemModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
414
+ .exec();
440
415
  }
441
- aggregateItemList(params) {
442
- return __awaiter(this, void 0, void 0, function* () {
443
- const matchConditions = {
444
- 'itemListElement.typeOf': { $eq: params.itemListElement.typeOf.$eq }
445
- };
446
- const aggregations = yield this.offerCatalogItemModel.aggregate([
447
- { $match: matchConditions },
448
- {
449
- $project: {
450
- numItemListElement: { $size: '$itemListElement' }
451
- }
452
- },
453
- {
454
- $group: {
455
- _id: '$typeOf',
456
- maxNumItemListElement: { $max: '$numItemListElement' },
457
- minNumItemListElement: { $min: '$numItemListElement' }
458
- }
459
- },
460
- {
461
- $project: {
462
- _id: 0,
463
- maxNumItemListElement: '$maxNumItemListElement',
464
- minNumItemListElement: '$minNumItemListElement'
465
- }
416
+ async aggregateItemList(params) {
417
+ const matchConditions = {
418
+ 'itemListElement.typeOf': { $eq: params.itemListElement.typeOf.$eq }
419
+ };
420
+ const aggregations = await this.offerCatalogItemModel.aggregate([
421
+ { $match: matchConditions },
422
+ {
423
+ $project: {
424
+ numItemListElement: { $size: '$itemListElement' }
425
+ }
426
+ },
427
+ {
428
+ $group: {
429
+ _id: '$typeOf',
430
+ maxNumItemListElement: { $max: '$numItemListElement' },
431
+ minNumItemListElement: { $min: '$numItemListElement' }
432
+ }
433
+ },
434
+ {
435
+ $project: {
436
+ _id: 0,
437
+ maxNumItemListElement: '$maxNumItemListElement',
438
+ minNumItemListElement: '$minNumItemListElement'
466
439
  }
467
- ])
468
- .exec();
469
- if (aggregations.length === 0) {
470
- return {
471
- aggregation: {}
472
- };
473
440
  }
474
- return { aggregation: aggregations[0] };
475
- });
441
+ ])
442
+ .exec();
443
+ if (aggregations.length === 0) {
444
+ return {
445
+ aggregation: {}
446
+ };
447
+ }
448
+ return { aggregation: aggregations[0] };
476
449
  }
477
450
  }
478
451
  exports.OfferCatalogItemRepo = OfferCatalogItemRepo;