@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.AggregateOfferRepo = void 0;
24
4
  const createDebug = require("debug");
@@ -29,41 +9,41 @@ const debug = createDebug('chevre-domain:repo:aggregateOffer');
29
9
  * 集計オファーリポジトリ
30
10
  */
31
11
  class AggregateOfferRepo {
12
+ aggregateOfferModel;
32
13
  constructor(connection) {
33
14
  this.aggregateOfferModel = connection.model(aggregateOffer_1.modelName, (0, aggregateOffer_1.createSchema)());
34
15
  }
35
16
  // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
36
17
  static CREATE_MATCH_STAGE(params) {
37
- 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, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50;
38
18
  const matchStages = [];
39
- const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
19
+ const projectIdEq = params.project?.id?.$eq;
40
20
  if (typeof projectIdEq === 'string') {
41
21
  matchStages.push({
42
22
  $match: { 'project.id': { $eq: projectIdEq } }
43
23
  });
44
24
  }
45
- const parentOfferIdIn = (_d = (_c = params.parentOffer) === null || _c === void 0 ? void 0 : _c.id) === null || _d === void 0 ? void 0 : _d.$in;
25
+ const parentOfferIdIn = params.parentOffer?.id?.$in;
46
26
  if (Array.isArray(parentOfferIdIn)) {
47
27
  matchStages.push({ $match: { _id: { $in: parentOfferIdIn } } });
48
28
  }
49
29
  // aggregateOffer.includedInDataCatalogで検索する(2023-09-21~)
50
- const includedInDataCatalogIdIn = (_f = (_e = params.includedInDataCatalog) === null || _e === void 0 ? void 0 : _e.id) === null || _f === void 0 ? void 0 : _f.$in;
30
+ const includedInDataCatalogIdIn = params.includedInDataCatalog?.id?.$in;
51
31
  if (Array.isArray(includedInDataCatalogIdIn)) {
52
32
  matchStages.push({ $match: { 'includedInDataCatalog.id': { $exists: true, $in: includedInDataCatalogIdIn } } });
53
33
  }
54
- const idEq = (_g = params.id) === null || _g === void 0 ? void 0 : _g.$eq;
34
+ const idEq = params.id?.$eq;
55
35
  if (typeof idEq === 'string') {
56
36
  matchStages.push({
57
37
  $match: { _id: { $eq: idEq } } // _idに変更(2023-12-22~)
58
38
  });
59
39
  }
60
- const idIn = (_h = params.id) === null || _h === void 0 ? void 0 : _h.$in;
40
+ const idIn = params.id?.$in;
61
41
  if (Array.isArray(idIn)) {
62
42
  matchStages.push({
63
43
  $match: { _id: { $in: idIn } } // _idに変更(2023-12-22~)
64
44
  });
65
45
  }
66
- const identifierEq = (_j = params.identifier) === null || _j === void 0 ? void 0 : _j.$eq;
46
+ const identifierEq = params.identifier?.$eq;
67
47
  if (typeof identifierEq === 'string') {
68
48
  matchStages.push({
69
49
  $match: {
@@ -71,7 +51,7 @@ class AggregateOfferRepo {
71
51
  }
72
52
  });
73
53
  }
74
- const identifierIn = (_k = params.identifier) === null || _k === void 0 ? void 0 : _k.$in;
54
+ const identifierIn = params.identifier?.$in;
75
55
  if (Array.isArray(identifierIn)) {
76
56
  matchStages.push({
77
57
  $match: {
@@ -79,7 +59,7 @@ class AggregateOfferRepo {
79
59
  }
80
60
  });
81
61
  }
82
- const identifierRegex = (_l = params.identifier) === null || _l === void 0 ? void 0 : _l.$regex;
62
+ const identifierRegex = params.identifier?.$regex;
83
63
  if (typeof identifierRegex === 'string' && identifierRegex.length > 0) {
84
64
  matchStages.push({
85
65
  $match: {
@@ -87,7 +67,7 @@ class AggregateOfferRepo {
87
67
  }
88
68
  });
89
69
  }
90
- const nameRegex = (_m = params.name) === null || _m === void 0 ? void 0 : _m.$regex;
70
+ const nameRegex = params.name?.$regex;
91
71
  if (typeof nameRegex === 'string' && nameRegex.length > 0) {
92
72
  const nameRegexExp = new RegExp(nameRegex);
93
73
  matchStages.push({
@@ -101,7 +81,7 @@ class AggregateOfferRepo {
101
81
  }
102
82
  });
103
83
  }
104
- const itemOfferedTypeOfEq = (_p = (_o = params.itemOffered) === null || _o === void 0 ? void 0 : _o.typeOf) === null || _p === void 0 ? void 0 : _p.$eq;
84
+ const itemOfferedTypeOfEq = params.itemOffered?.typeOf?.$eq;
105
85
  if (typeof itemOfferedTypeOfEq === 'string') {
106
86
  matchStages.push({
107
87
  $match: {
@@ -109,7 +89,7 @@ class AggregateOfferRepo {
109
89
  }
110
90
  });
111
91
  }
112
- const categoryCodeValueIn = (_r = (_q = params.category) === null || _q === void 0 ? void 0 : _q.codeValue) === null || _r === void 0 ? void 0 : _r.$in;
92
+ const categoryCodeValueIn = params.category?.codeValue?.$in;
113
93
  if (Array.isArray(categoryCodeValueIn)) {
114
94
  matchStages.push({
115
95
  $match: {
@@ -117,7 +97,7 @@ class AggregateOfferRepo {
117
97
  }
118
98
  });
119
99
  }
120
- const eligibleMembershipTypeCodeValueEq = (_t = (_s = params.eligibleMembershipType) === null || _s === void 0 ? void 0 : _s.codeValue) === null || _t === void 0 ? void 0 : _t.$eq;
100
+ const eligibleMembershipTypeCodeValueEq = params.eligibleMembershipType?.codeValue?.$eq;
121
101
  if (typeof eligibleMembershipTypeCodeValueEq === 'string') {
122
102
  matchStages.push({
123
103
  $match: {
@@ -128,7 +108,7 @@ class AggregateOfferRepo {
128
108
  }
129
109
  });
130
110
  }
131
- const eligibleMonetaryAmountCurrencyEq = (_v = (_u = params.eligibleMonetaryAmount) === null || _u === void 0 ? void 0 : _u.currency) === null || _v === void 0 ? void 0 : _v.$eq;
111
+ const eligibleMonetaryAmountCurrencyEq = params.eligibleMonetaryAmount?.currency?.$eq;
132
112
  if (typeof eligibleMonetaryAmountCurrencyEq === 'string') {
133
113
  matchStages.push({
134
114
  $match: {
@@ -139,7 +119,7 @@ class AggregateOfferRepo {
139
119
  }
140
120
  });
141
121
  }
142
- const eligibleSeatingTypeCodeValueEq = (_x = (_w = params.eligibleSeatingType) === null || _w === void 0 ? void 0 : _w.codeValue) === null || _x === void 0 ? void 0 : _x.$eq;
122
+ const eligibleSeatingTypeCodeValueEq = params.eligibleSeatingType?.codeValue?.$eq;
143
123
  if (typeof eligibleSeatingTypeCodeValueEq === 'string') {
144
124
  matchStages.push({
145
125
  $match: {
@@ -150,13 +130,13 @@ class AggregateOfferRepo {
150
130
  }
151
131
  });
152
132
  }
153
- const appliesToMovieTicketSize = (_z = (_y = params.priceSpecification) === null || _y === void 0 ? void 0 : _y.appliesToMovieTicket) === null || _z === void 0 ? void 0 : _z.$size;
133
+ const appliesToMovieTicketSize = params.priceSpecification?.appliesToMovieTicket?.$size;
154
134
  if (typeof appliesToMovieTicketSize === 'number') {
155
135
  matchStages.push({
156
136
  $match: { 'offers.priceSpecification.appliesToMovieTicket': { $exists: true, $size: appliesToMovieTicketSize } }
157
137
  });
158
138
  }
159
- const appliesToMovieTicketServiceTypeExist = (_2 = (_1 = (_0 = params.priceSpecification) === null || _0 === void 0 ? void 0 : _0.appliesToMovieTicket) === null || _1 === void 0 ? void 0 : _1.serviceType) === null || _2 === void 0 ? void 0 : _2.$exists;
139
+ const appliesToMovieTicketServiceTypeExist = params.priceSpecification?.appliesToMovieTicket?.serviceType?.$exists;
160
140
  if (typeof appliesToMovieTicketServiceTypeExist === 'boolean') {
161
141
  matchStages.push({
162
142
  $match: {
@@ -166,7 +146,7 @@ class AggregateOfferRepo {
166
146
  }
167
147
  });
168
148
  }
169
- const appliesToMovieTicketServiceTypeEq = (_5 = (_4 = (_3 = params.priceSpecification) === null || _3 === void 0 ? void 0 : _3.appliesToMovieTicket) === null || _4 === void 0 ? void 0 : _4.serviceType) === null || _5 === void 0 ? void 0 : _5.$eq;
149
+ const appliesToMovieTicketServiceTypeEq = params.priceSpecification?.appliesToMovieTicket?.serviceType?.$eq;
170
150
  if (typeof appliesToMovieTicketServiceTypeEq === 'string') {
171
151
  matchStages.push({
172
152
  $match: {
@@ -177,7 +157,7 @@ class AggregateOfferRepo {
177
157
  }
178
158
  });
179
159
  }
180
- const appliesToMovieTicketServiceOutputTypeOfEq = (_9 = (_8 = (_7 = (_6 = params.priceSpecification) === null || _6 === void 0 ? void 0 : _6.appliesToMovieTicket) === null || _7 === void 0 ? void 0 : _7.serviceOutput) === null || _8 === void 0 ? void 0 : _8.typeOf) === null || _9 === void 0 ? void 0 : _9.$eq;
160
+ const appliesToMovieTicketServiceOutputTypeOfEq = params.priceSpecification?.appliesToMovieTicket?.serviceOutput?.typeOf?.$eq;
181
161
  if (typeof appliesToMovieTicketServiceOutputTypeOfEq === 'string') {
182
162
  matchStages.push({
183
163
  $match: {
@@ -188,7 +168,7 @@ class AggregateOfferRepo {
188
168
  }
189
169
  });
190
170
  }
191
- const appliesToMovieTicketServiceOutputTypeOfAll = (_13 = (_12 = (_11 = (_10 = params.priceSpecification) === null || _10 === void 0 ? void 0 : _10.appliesToMovieTicket) === null || _11 === void 0 ? void 0 : _11.serviceOutput) === null || _12 === void 0 ? void 0 : _12.typeOf) === null || _13 === void 0 ? void 0 : _13.$all;
171
+ const appliesToMovieTicketServiceOutputTypeOfAll = params.priceSpecification?.appliesToMovieTicket?.serviceOutput?.typeOf?.$all;
192
172
  if (Array.isArray(appliesToMovieTicketServiceOutputTypeOfAll)) {
193
173
  matchStages.push({
194
174
  $match: {
@@ -199,7 +179,7 @@ class AggregateOfferRepo {
199
179
  }
200
180
  });
201
181
  }
202
- const appliesToMovieTicketServiceOutputTypeOfNin = (_17 = (_16 = (_15 = (_14 = params.priceSpecification) === null || _14 === void 0 ? void 0 : _14.appliesToMovieTicket) === null || _15 === void 0 ? void 0 : _15.serviceOutput) === null || _16 === void 0 ? void 0 : _16.typeOf) === null || _17 === void 0 ? void 0 : _17.$nin;
182
+ const appliesToMovieTicketServiceOutputTypeOfNin = params.priceSpecification?.appliesToMovieTicket?.serviceOutput?.typeOf?.$nin;
203
183
  if (Array.isArray(appliesToMovieTicketServiceOutputTypeOfNin)) {
204
184
  matchStages.push({
205
185
  $match: {
@@ -210,7 +190,7 @@ class AggregateOfferRepo {
210
190
  });
211
191
  }
212
192
  if (params.priceSpecification !== undefined && params.priceSpecification !== null) {
213
- const priceSpecificationPriceGte = (_18 = params.priceSpecification.price) === null || _18 === void 0 ? void 0 : _18.$gte;
193
+ const priceSpecificationPriceGte = params.priceSpecification.price?.$gte;
214
194
  if (typeof priceSpecificationPriceGte === 'number') {
215
195
  matchStages.push({
216
196
  $match: {
@@ -221,7 +201,7 @@ class AggregateOfferRepo {
221
201
  }
222
202
  });
223
203
  }
224
- const priceSpecificationPriceLte = (_19 = params.priceSpecification.price) === null || _19 === void 0 ? void 0 : _19.$lte;
204
+ const priceSpecificationPriceLte = params.priceSpecification.price?.$lte;
225
205
  if (typeof priceSpecificationPriceLte === 'number') {
226
206
  matchStages.push({
227
207
  $match: {
@@ -232,7 +212,7 @@ class AggregateOfferRepo {
232
212
  }
233
213
  });
234
214
  }
235
- const accountsReceivableGte = (_21 = (_20 = params.priceSpecification.accounting) === null || _20 === void 0 ? void 0 : _20.accountsReceivable) === null || _21 === void 0 ? void 0 : _21.$gte;
215
+ const accountsReceivableGte = params.priceSpecification.accounting?.accountsReceivable?.$gte;
236
216
  if (typeof accountsReceivableGte === 'number') {
237
217
  matchStages.push({
238
218
  $match: {
@@ -243,7 +223,7 @@ class AggregateOfferRepo {
243
223
  }
244
224
  });
245
225
  }
246
- const accountsReceivableLte = (_23 = (_22 = params.priceSpecification.accounting) === null || _22 === void 0 ? void 0 : _22.accountsReceivable) === null || _23 === void 0 ? void 0 : _23.$lte;
226
+ const accountsReceivableLte = params.priceSpecification.accounting?.accountsReceivable?.$lte;
247
227
  if (typeof accountsReceivableLte === 'number') {
248
228
  matchStages.push({
249
229
  $match: {
@@ -254,7 +234,7 @@ class AggregateOfferRepo {
254
234
  }
255
235
  });
256
236
  }
257
- const accountingCodeValueEq = (_26 = (_25 = (_24 = params.priceSpecification.accounting) === null || _24 === void 0 ? void 0 : _24.operatingRevenue) === null || _25 === void 0 ? void 0 : _25.codeValue) === null || _26 === void 0 ? void 0 : _26.$eq;
237
+ const accountingCodeValueEq = params.priceSpecification.accounting?.operatingRevenue?.codeValue?.$eq;
258
238
  if (typeof accountingCodeValueEq === 'string') {
259
239
  matchStages.push({
260
240
  $match: {
@@ -265,7 +245,7 @@ class AggregateOfferRepo {
265
245
  }
266
246
  });
267
247
  }
268
- const accountingCodeValueIn = (_29 = (_28 = (_27 = params.priceSpecification.accounting) === null || _27 === void 0 ? void 0 : _27.operatingRevenue) === null || _28 === void 0 ? void 0 : _28.codeValue) === null || _29 === void 0 ? void 0 : _29.$in;
248
+ const accountingCodeValueIn = params.priceSpecification.accounting?.operatingRevenue?.codeValue?.$in;
269
249
  if (Array.isArray(accountingCodeValueIn)) {
270
250
  matchStages.push({
271
251
  $match: {
@@ -276,7 +256,7 @@ class AggregateOfferRepo {
276
256
  }
277
257
  });
278
258
  }
279
- const referenceQuantityValueEq = (_31 = (_30 = params.priceSpecification.referenceQuantity) === null || _30 === void 0 ? void 0 : _30.value) === null || _31 === void 0 ? void 0 : _31.$eq;
259
+ const referenceQuantityValueEq = params.priceSpecification.referenceQuantity?.value?.$eq;
280
260
  if (typeof referenceQuantityValueEq === 'number') {
281
261
  matchStages.push({
282
262
  $match: {
@@ -288,7 +268,7 @@ class AggregateOfferRepo {
288
268
  });
289
269
  }
290
270
  }
291
- const availabilityEq = (_32 = params.availability) === null || _32 === void 0 ? void 0 : _32.$eq;
271
+ const availabilityEq = params.availability?.$eq;
292
272
  if (typeof availabilityEq === 'string') {
293
273
  matchStages.push({
294
274
  $match: {
@@ -296,7 +276,7 @@ class AggregateOfferRepo {
296
276
  }
297
277
  });
298
278
  }
299
- const availableAtOrFromIdEq = (_34 = (_33 = params.availableAtOrFrom) === null || _33 === void 0 ? void 0 : _33.id) === null || _34 === void 0 ? void 0 : _34.$eq;
279
+ const availableAtOrFromIdEq = params.availableAtOrFrom?.id?.$eq;
300
280
  if (typeof availableAtOrFromIdEq === 'string') {
301
281
  matchStages.push({
302
282
  $match: {
@@ -307,7 +287,7 @@ class AggregateOfferRepo {
307
287
  }
308
288
  });
309
289
  }
310
- const availableAtOrFromIdIn = (_36 = (_35 = params.availableAtOrFrom) === null || _35 === void 0 ? void 0 : _35.id) === null || _36 === void 0 ? void 0 : _36.$in;
290
+ const availableAtOrFromIdIn = params.availableAtOrFrom?.id?.$in;
311
291
  if (Array.isArray(availableAtOrFromIdIn)) {
312
292
  matchStages.push({
313
293
  $match: {
@@ -318,7 +298,7 @@ class AggregateOfferRepo {
318
298
  }
319
299
  });
320
300
  }
321
- const addOnItemOfferedIdEq = (_39 = (_38 = (_37 = params.addOn) === null || _37 === void 0 ? void 0 : _37.itemOffered) === null || _38 === void 0 ? void 0 : _38.id) === null || _39 === void 0 ? void 0 : _39.$eq;
301
+ const addOnItemOfferedIdEq = params.addOn?.itemOffered?.id?.$eq;
322
302
  if (typeof addOnItemOfferedIdEq === 'string') {
323
303
  matchStages.push({
324
304
  $match: {
@@ -326,7 +306,7 @@ class AggregateOfferRepo {
326
306
  }
327
307
  });
328
308
  }
329
- const addOnItemOfferedIdIn = (_42 = (_41 = (_40 = params.addOn) === null || _40 === void 0 ? void 0 : _40.itemOffered) === null || _41 === void 0 ? void 0 : _41.id) === null || _42 === void 0 ? void 0 : _42.$in;
309
+ const addOnItemOfferedIdIn = params.addOn?.itemOffered?.id?.$in;
330
310
  if (Array.isArray(addOnItemOfferedIdIn)) {
331
311
  matchStages.push({
332
312
  $match: {
@@ -334,7 +314,7 @@ class AggregateOfferRepo {
334
314
  }
335
315
  });
336
316
  }
337
- const hasMerchantReturnPolicyIdEq = (_44 = (_43 = params.hasMerchantReturnPolicy) === null || _43 === void 0 ? void 0 : _43.id) === null || _44 === void 0 ? void 0 : _44.$eq;
317
+ const hasMerchantReturnPolicyIdEq = params.hasMerchantReturnPolicy?.id?.$eq;
338
318
  if (typeof hasMerchantReturnPolicyIdEq === 'string') {
339
319
  matchStages.push({
340
320
  $match: {
@@ -345,7 +325,7 @@ class AggregateOfferRepo {
345
325
  }
346
326
  });
347
327
  }
348
- const acceptedPaymentMethodIdentifierIn = (_46 = (_45 = params.acceptedPaymentMethod) === null || _45 === void 0 ? void 0 : _45.identifier) === null || _46 === void 0 ? void 0 : _46.$in;
328
+ const acceptedPaymentMethodIdentifierIn = params.acceptedPaymentMethod?.identifier?.$in;
349
329
  if (Array.isArray(acceptedPaymentMethodIdentifierIn)) {
350
330
  matchStages.push({
351
331
  $match: {
@@ -356,7 +336,7 @@ class AggregateOfferRepo {
356
336
  }
357
337
  });
358
338
  }
359
- const additionalPropertyAll = (_47 = params.additionalProperty) === null || _47 === void 0 ? void 0 : _47.$all;
339
+ const additionalPropertyAll = params.additionalProperty?.$all;
360
340
  if (Array.isArray(additionalPropertyAll)) {
361
341
  matchStages.push({
362
342
  $match: {
@@ -367,7 +347,7 @@ class AggregateOfferRepo {
367
347
  }
368
348
  });
369
349
  }
370
- const additionalPropertyElemMatch = (_48 = params.additionalProperty) === null || _48 === void 0 ? void 0 : _48.$elemMatch;
350
+ const additionalPropertyElemMatch = params.additionalProperty?.$elemMatch;
371
351
  if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
372
352
  matchStages.push({
373
353
  $match: {
@@ -397,7 +377,7 @@ class AggregateOfferRepo {
397
377
  });
398
378
  }
399
379
  // add advanceBookingRequirement.id.$eq(2025-04-08~)
400
- const advanceBookingRequirementIdEq = (_50 = (_49 = params.advanceBookingRequirement) === null || _49 === void 0 ? void 0 : _49.id) === null || _50 === void 0 ? void 0 : _50.$eq;
380
+ const advanceBookingRequirementIdEq = params.advanceBookingRequirement?.id?.$eq;
401
381
  if (typeof advanceBookingRequirementIdEq === 'string') {
402
382
  matchStages.push({ $match: { 'offers.advanceBookingRequirement.id': { $exists: true, $eq: advanceBookingRequirementIdEq } } });
403
383
  }
@@ -445,98 +425,95 @@ class AggregateOfferRepo {
445
425
  }
446
426
  return projectStage;
447
427
  }
448
- search(params, projection) {
449
- return __awaiter(this, void 0, void 0, function* () {
450
- var _a, _b;
451
- const matchStages = AggregateOfferRepo.CREATE_MATCH_STAGE(params);
452
- const projectStage = AggregateOfferRepo.CREATE_AGGREGATE_OFFERS_PROJECTION(Object.assign({}, projection));
453
- const sortByPrice = (_a = params.sort) === null || _a === void 0 ? void 0 : _a['priceSpecification.price'];
454
- const sortByIdentifier = (_b = params.sort) === null || _b === void 0 ? void 0 : _b.identifier;
455
- const aggregate = this.aggregateOfferModel.aggregate([
456
- ...matchStages,
457
- ...(typeof sortByPrice === 'number' || typeof sortByIdentifier === 'number')
458
- ? [
459
- {
460
- $sort: Object.assign(Object.assign({}, (typeof sortByPrice === 'number')
428
+ async search(params, projection) {
429
+ const matchStages = AggregateOfferRepo.CREATE_MATCH_STAGE(params);
430
+ const projectStage = AggregateOfferRepo.CREATE_AGGREGATE_OFFERS_PROJECTION({ ...projection });
431
+ const sortByPrice = params.sort?.['priceSpecification.price'];
432
+ const sortByIdentifier = params.sort?.identifier;
433
+ const aggregate = this.aggregateOfferModel.aggregate([
434
+ ...matchStages,
435
+ ...(typeof sortByPrice === 'number' || typeof sortByIdentifier === 'number')
436
+ ? [
437
+ {
438
+ $sort: {
439
+ ...(typeof sortByPrice === 'number')
461
440
  ? { 'offers.priceSpecification.price': sortByPrice }
462
- : undefined), (typeof sortByIdentifier === 'number')
441
+ : undefined,
442
+ ...(typeof sortByIdentifier === 'number')
463
443
  ? { 'offers.identifier': sortByIdentifier }
464
- : undefined)
444
+ : undefined
465
445
  }
466
- ]
467
- : [],
468
- { $project: projectStage }
469
- ]);
470
- // tslint:disable-next-line:no-single-line-block-comment
471
- /* istanbul ignore else */
472
- if (typeof params.limit === 'number' && params.limit > 0) {
473
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
474
- aggregate.limit(params.limit * page)
475
- .skip(params.limit * (page - 1));
476
- }
477
- return aggregate.exec();
478
- });
479
- }
480
- pushIncludedInDataCatalog(params) {
481
- return __awaiter(this, void 0, void 0, function* () {
482
- if (!Array.isArray(params.id.$in) || params.id.$in.length === 0) {
483
- return;
484
- }
485
- const pushIncludedInDataCatalogIds = params.$push.includedInDataCatalog.$each.map((element) => element.id);
486
- if (pushIncludedInDataCatalogIds.length === 0) {
487
- return;
488
- }
489
- const newIncludedInDataCatalogs = pushIncludedInDataCatalogIds.map((catalogId) => {
490
- return {
491
- id: catalogId,
492
- typeOf: 'OfferCatalog'
493
- };
494
- });
495
- const result = yield this.aggregateOfferModel.updateMany({
496
- 'project.id': { $eq: params.project.id },
497
- _id: { $in: params.id.$in },
498
- // includedInDataCatalogのユニークネスを保証する
499
- 'includedInDataCatalog.id': { $nin: pushIncludedInDataCatalogIds }
500
- },
501
- // { $addToSet: { includedInDataCatalog: { $each: newIncludedInDataCatalogs } } }
502
- {
503
- $push: {
504
- includedInDataCatalog: {
505
- $each: newIncludedInDataCatalogs
506
- // $slice: params.$push.includedInDataCatalog.$slice
507
446
  }
508
- }
509
- })
510
- .exec();
511
- debug('result', result);
447
+ ]
448
+ : [],
449
+ { $project: projectStage }
450
+ ]);
451
+ // tslint:disable-next-line:no-single-line-block-comment
452
+ /* istanbul ignore else */
453
+ if (typeof params.limit === 'number' && params.limit > 0) {
454
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
455
+ aggregate.limit(params.limit * page)
456
+ .skip(params.limit * (page - 1));
457
+ }
458
+ return aggregate.exec();
459
+ }
460
+ async pushIncludedInDataCatalog(params) {
461
+ if (!Array.isArray(params.id.$in) || params.id.$in.length === 0) {
462
+ return;
463
+ }
464
+ const pushIncludedInDataCatalogIds = params.$push.includedInDataCatalog.$each.map((element) => element.id);
465
+ if (pushIncludedInDataCatalogIds.length === 0) {
466
+ return;
467
+ }
468
+ const newIncludedInDataCatalogs = pushIncludedInDataCatalogIds.map((catalogId) => {
469
+ return {
470
+ id: catalogId,
471
+ typeOf: 'OfferCatalog'
472
+ };
512
473
  });
474
+ const result = await this.aggregateOfferModel.updateMany({
475
+ 'project.id': { $eq: params.project.id },
476
+ _id: { $in: params.id.$in },
477
+ // includedInDataCatalogのユニークネスを保証する
478
+ 'includedInDataCatalog.id': { $nin: pushIncludedInDataCatalogIds }
479
+ },
480
+ // { $addToSet: { includedInDataCatalog: { $each: newIncludedInDataCatalogs } } }
481
+ {
482
+ $push: {
483
+ includedInDataCatalog: {
484
+ $each: newIncludedInDataCatalogs
485
+ // $slice: params.$push.includedInDataCatalog.$slice
486
+ }
487
+ }
488
+ })
489
+ .exec();
490
+ debug('result', result);
513
491
  }
514
492
  /**
515
493
  * 記載カタログからカタログを除外する
516
494
  */
517
- pullIncludedInDataCatalog(params) {
518
- return __awaiter(this, void 0, void 0, function* () {
519
- var _a;
520
- const idNin = (_a = params.id) === null || _a === void 0 ? void 0 : _a.$nin;
521
- const pullingCatalogId = params.$pull.includedInDataCatalog.$elemMatch.id.$eq;
522
- yield this.aggregateOfferModel.updateMany(Object.assign({ 'project.id': { $eq: params.project.id }, 'includedInDataCatalog.id': { $exists: true, $eq: pullingCatalogId } }, (Array.isArray(idNin)) ? { _id: { $nin: idNin } } : undefined), {
523
- $pull: {
524
- includedInDataCatalog: {
525
- id: { $eq: pullingCatalogId }
526
- }
495
+ async pullIncludedInDataCatalog(params) {
496
+ const idNin = params.id?.$nin;
497
+ const pullingCatalogId = params.$pull.includedInDataCatalog.$elemMatch.id.$eq;
498
+ await this.aggregateOfferModel.updateMany({
499
+ 'project.id': { $eq: params.project.id },
500
+ 'includedInDataCatalog.id': { $exists: true, $eq: pullingCatalogId },
501
+ ...(Array.isArray(idNin)) ? { _id: { $nin: idNin } } : undefined
502
+ }, {
503
+ $pull: {
504
+ includedInDataCatalog: {
505
+ id: { $eq: pullingCatalogId }
527
506
  }
528
- })
529
- .exec();
530
- });
507
+ }
508
+ })
509
+ .exec();
531
510
  }
532
- deleteById(params) {
533
- return __awaiter(this, void 0, void 0, function* () {
534
- yield this.aggregateOfferModel.findOneAndDelete({
535
- _id: { $eq: params.id },
536
- 'project.id': { $eq: params.project.id }
537
- }, { projection: { _id: 1 } })
538
- .exec();
539
- });
511
+ async deleteById(params) {
512
+ await this.aggregateOfferModel.findOneAndDelete({
513
+ _id: { $eq: params.id },
514
+ 'project.id': { $eq: params.project.id }
515
+ }, { projection: { _id: 1 } })
516
+ .exec();
540
517
  }
541
518
  // 単価オファー最適化作業における一時的な処理
542
519
  // public async optimizeOffers() {
@@ -562,322 +539,312 @@ class AggregateOfferRepo {
562
539
  .sort({ 'offers.identifier': factory.sortType.Ascending })
563
540
  .cursor();
564
541
  }
565
- unsetUnnecessaryFields(params) {
566
- return __awaiter(this, void 0, void 0, function* () {
567
- return this.aggregateOfferModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
568
- .exec();
569
- });
542
+ async unsetUnnecessaryFields(params) {
543
+ return this.aggregateOfferModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
544
+ .exec();
570
545
  }
571
- save(params) {
572
- return __awaiter(this, void 0, void 0, function* () {
573
- var _a;
574
- let doc;
575
- let aggregateOfferId;
576
- // const { $unset, ...paramsWithoutUnset } = params;
577
- const paramsWithoutUnset = __rest(params, []);
578
- // let savedUnitPriceOffer: factory.unitPriceOffer.IUnitPriceOffer;
579
- if (typeof params.id !== 'string' || params.id.length === 0) {
580
- const uniqid = yield Promise.resolve().then(() => require('uniqid'));
581
- const newId = uniqid();
582
- aggregateOfferId = newId;
583
- // サブオファー最適化(2023-12-22~)
584
- // savedUnitPriceOffer = { ...paramsWithoutUnset, id };
585
- const { id, project } = paramsWithoutUnset, savedUnitPriceOffer = __rest(paramsWithoutUnset, ["id", "project"]);
586
- const aggregateOffer = {
587
- typeOf: factory.offerType.AggregateOffer,
588
- project: params.project,
589
- offers: [savedUnitPriceOffer]
590
- };
591
- doc = yield this.aggregateOfferModel.create(Object.assign(Object.assign({}, aggregateOffer), { _id: newId }));
546
+ async save(params) {
547
+ let doc;
548
+ let aggregateOfferId;
549
+ // const { $unset, ...paramsWithoutUnset } = params;
550
+ const { ...paramsWithoutUnset } = params;
551
+ // let savedUnitPriceOffer: factory.unitPriceOffer.IUnitPriceOffer;
552
+ if (typeof params.id !== 'string' || params.id.length === 0) {
553
+ const uniqid = await Promise.resolve().then(() => require('uniqid'));
554
+ const newId = uniqid();
555
+ aggregateOfferId = newId;
556
+ // サブオファー最適化(2023-12-22~)
557
+ // savedUnitPriceOffer = { ...paramsWithoutUnset, id };
558
+ const { id, project, ...savedUnitPriceOffer } = paramsWithoutUnset;
559
+ const aggregateOffer = {
560
+ typeOf: factory.offerType.AggregateOffer,
561
+ project: params.project,
562
+ offers: [savedUnitPriceOffer]
563
+ };
564
+ doc = await this.aggregateOfferModel.create({
565
+ ...aggregateOffer,
566
+ _id: newId
567
+ });
568
+ }
569
+ else {
570
+ aggregateOfferId = params.id;
571
+ // const unitPriceOffers = <Pick<factory.unitPriceOffer.IUnitPriceOffer, 'id' | 'identifier' | 'project' | 'typeOf'>[]>
572
+ // await this.search(
573
+ // {
574
+ // limit: 1,
575
+ // page: 1,
576
+ // project: { id: { $eq: params.project.id } },
577
+ // id: { $eq: params.id }
578
+ // },
579
+ // { identifier: 1, project: 1, typeOf: 1 }
580
+ // );
581
+ // const originalUnitPriceOffer = unitPriceOffers.shift();
582
+ const aggregateOffers = await this.search({
583
+ limit: 1,
584
+ page: 1,
585
+ project: { id: { $eq: params.project.id } },
586
+ id: { $eq: params.id }
587
+ });
588
+ const originalUnitPriceOffer = aggregateOffers.shift()?.offers
589
+ .shift();
590
+ if (originalUnitPriceOffer === undefined) {
591
+ throw new factory.errors.NotFound(factory.offerType.Offer);
592
592
  }
593
- else {
594
- aggregateOfferId = params.id;
595
- // const unitPriceOffers = <Pick<factory.unitPriceOffer.IUnitPriceOffer, 'id' | 'identifier' | 'project' | 'typeOf'>[]>
596
- // await this.search(
597
- // {
598
- // limit: 1,
599
- // page: 1,
600
- // project: { id: { $eq: params.project.id } },
601
- // id: { $eq: params.id }
602
- // },
603
- // { identifier: 1, project: 1, typeOf: 1 }
604
- // );
605
- // const originalUnitPriceOffer = unitPriceOffers.shift();
606
- const aggregateOffers = yield this.search({
607
- limit: 1,
608
- page: 1,
609
- project: { id: { $eq: params.project.id } },
610
- id: { $eq: params.id }
611
- });
612
- const originalUnitPriceOffer = (_a = aggregateOffers.shift()) === null || _a === void 0 ? void 0 : _a.offers.shift();
613
- if (originalUnitPriceOffer === undefined) {
614
- throw new factory.errors.NotFound(factory.offerType.Offer);
593
+ // 上書き禁止属性を除外
594
+ const { id, identifier, project, typeOf, ...updateFields } = paramsWithoutUnset;
595
+ // サブオファー最適化(2023-12-22~)
596
+ const subOffer = {
597
+ ...updateFields,
598
+ // id: originalUnitPriceOffer.id,
599
+ identifier: originalUnitPriceOffer.identifier,
600
+ // project: originalUnitPriceOffer.project,
601
+ typeOf: originalUnitPriceOffer.typeOf
602
+ };
603
+ doc = await this.aggregateOfferModel.findOneAndUpdate(
604
+ // { 'offers.id': params.id },
605
+ { _id: params.id }, // _idに変更(2023-12-22~)
606
+ {
607
+ $set: {
608
+ // 'offers.$[offer]': savedUnitPriceOffer
609
+ 'offers.0': subOffer // _idに変更(2023-12-22~)
615
610
  }
616
- // 上書き禁止属性を除外
617
- const { id, identifier, project, typeOf } = paramsWithoutUnset, updateFields = __rest(paramsWithoutUnset, ["id", "identifier", "project", "typeOf"]);
618
- // サブオファー最適化(2023-12-22~)
619
- const subOffer = Object.assign(Object.assign({}, updateFields), {
620
- // id: originalUnitPriceOffer.id,
621
- identifier: originalUnitPriceOffer.identifier,
622
- // project: originalUnitPriceOffer.project,
623
- typeOf: originalUnitPriceOffer.typeOf });
624
- doc = yield this.aggregateOfferModel.findOneAndUpdate(
625
- // { 'offers.id': params.id },
626
- { _id: params.id }, // _idに変更(2023-12-22~)
627
- {
628
- $set: {
629
- // 'offers.$[offer]': savedUnitPriceOffer
630
- 'offers.0': subOffer // _idに変更(2023-12-22~)
631
- }
632
- }, {
633
- upsert: false,
634
- new: true
635
- // _idに変更(2023-12-22~)
636
- // arrayFilters: [
637
- // { 'offer.id': { $eq: params.id } }
638
- // ]
639
- })
640
- .exec();
641
- }
642
- if (doc === null) {
643
- throw new factory.errors.NotFound(this.aggregateOfferModel.modelName);
644
- }
645
- return { id: aggregateOfferId };
646
- });
611
+ }, {
612
+ upsert: false,
613
+ new: true
614
+ // _idに変更(2023-12-22~)
615
+ // arrayFilters: [
616
+ // { 'offer.id': { $eq: params.id } }
617
+ // ]
618
+ })
619
+ .exec();
620
+ }
621
+ if (doc === null) {
622
+ throw new factory.errors.NotFound(this.aggregateOfferModel.modelName);
623
+ }
624
+ return { id: aggregateOfferId };
647
625
  }
648
626
  /**
649
627
  * コードをキーにして冪等置換(2023-12-13~)
650
628
  */
651
- upsertByIdentifier(params, options) {
652
- return __awaiter(this, void 0, void 0, function* () {
653
- const { productType } = options;
654
- const uniqid = yield Promise.resolve().then(() => require('uniqid'));
655
- const insertBulkWriteOps = [];
656
- // const updateBulkWriteOps: AnyBulkWriteOperation<factory.aggregateOffer.IAggregateOffer>[] = [];
657
- const queryFilters = [];
658
- if (Array.isArray(params)) {
659
- params.forEach((p) => {
660
- var _a;
661
- // 指定されたproductTypeを強制する
662
- if (((_a = p.itemOffered) === null || _a === void 0 ? void 0 : _a.typeOf) !== productType) {
663
- throw new factory.errors.Argument('itemOffered.typeOf', `not matched with productType: ${productType}`);
664
- }
665
- // リソースのユニークネスを保証するfilter
666
- const filter = {
667
- 'project.id': { $eq: p.project.id },
668
- 'offers.identifier': { $exists: true, $eq: p.identifier },
669
- 'offers.itemOffered.typeOf': { $eq: productType } // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
670
- };
671
- queryFilters.push({
672
- 'project.id': { $eq: p.project.id },
673
- 'offers.identifier': { $exists: true, $eq: p.identifier },
674
- 'offers.itemOffered.typeOf': { $eq: productType } // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
675
- });
676
- const newOfferId = uniqid(); // setOnInsert時のみに利用する新ID
677
- // サブオファー最適化(2023-12-22~)
678
- const { project } = p, subOffer = __rest(p, ["project"]);
679
- const aggregateOffer = {
680
- project: p.project,
681
- typeOf: factory.offerType.AggregateOffer,
682
- offers: [subOffer]
683
- };
684
- const setOnInsert = {
685
- project: aggregateOffer.project,
686
- typeOf: aggregateOffer.typeOf,
687
- _id: newOfferId
688
- };
689
- const updateFilter = {
690
- $setOnInsert: setOnInsert,
691
- $set: { offers: aggregateOffer.offers }
692
- };
693
- const updateOneOnInsert = {
694
- filter,
695
- update: updateFilter,
696
- upsert: true
697
- };
698
- insertBulkWriteOps.push({ updateOne: updateOneOnInsert });
629
+ async upsertByIdentifier(params, options) {
630
+ const { productType } = options;
631
+ const uniqid = await Promise.resolve().then(() => require('uniqid'));
632
+ const insertBulkWriteOps = [];
633
+ // const updateBulkWriteOps: AnyBulkWriteOperation<factory.aggregateOffer.IAggregateOffer>[] = [];
634
+ const queryFilters = [];
635
+ if (Array.isArray(params)) {
636
+ params.forEach((p) => {
637
+ // 指定されたproductTypeを強制する
638
+ if (p.itemOffered?.typeOf !== productType) {
639
+ throw new factory.errors.Argument('itemOffered.typeOf', `not matched with productType: ${productType}`);
640
+ }
641
+ // リソースのユニークネスを保証するfilter
642
+ const filter = {
643
+ 'project.id': { $eq: p.project.id },
644
+ 'offers.identifier': { $exists: true, $eq: p.identifier },
645
+ 'offers.itemOffered.typeOf': { $eq: productType } // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
646
+ };
647
+ queryFilters.push({
648
+ 'project.id': { $eq: p.project.id },
649
+ 'offers.identifier': { $exists: true, $eq: p.identifier },
650
+ 'offers.itemOffered.typeOf': { $eq: productType } // プロダクトタイプを変更させないためにフィルター追加(2026-01-30~)
699
651
  });
700
- }
701
- if (insertBulkWriteOps.length > 0) {
702
- const bulkWriteResult = yield this.aggregateOfferModel.bulkWrite(insertBulkWriteOps, { ordered: false });
703
- // modifiedの場合upsertedIdsに含まれないので、idを検索する
704
- const modifiedOffers = yield this.aggregateOfferModel.find({ $or: queryFilters },
705
- // { _id: 1, 'offers.identifier': 1 }
706
- { _id: 0, id: '$_id' })
707
- .lean() // lean(2024-09-26~)
708
- .exec();
709
- return { bulkWriteResult, modifiedOffers };
710
- }
711
- });
652
+ const newOfferId = uniqid(); // setOnInsert時のみに利用する新ID
653
+ // サブオファー最適化(2023-12-22~)
654
+ const { project, ...subOffer } = p;
655
+ const aggregateOffer = {
656
+ project: p.project,
657
+ typeOf: factory.offerType.AggregateOffer,
658
+ offers: [subOffer]
659
+ };
660
+ const setOnInsert = {
661
+ project: aggregateOffer.project,
662
+ typeOf: aggregateOffer.typeOf,
663
+ _id: newOfferId
664
+ };
665
+ const updateFilter = {
666
+ $setOnInsert: setOnInsert,
667
+ $set: { offers: aggregateOffer.offers }
668
+ };
669
+ const updateOneOnInsert = {
670
+ filter,
671
+ update: updateFilter,
672
+ upsert: true
673
+ };
674
+ insertBulkWriteOps.push({ updateOne: updateOneOnInsert });
675
+ });
676
+ }
677
+ if (insertBulkWriteOps.length > 0) {
678
+ const bulkWriteResult = await this.aggregateOfferModel.bulkWrite(insertBulkWriteOps, { ordered: false });
679
+ // modifiedの場合upsertedIdsに含まれないので、idを検索する
680
+ const modifiedOffers = await this.aggregateOfferModel.find({ $or: queryFilters },
681
+ // { _id: 1, 'offers.identifier': 1 }
682
+ { _id: 0, id: '$_id' })
683
+ .lean() // lean(2024-09-26~)
684
+ .exec();
685
+ return { bulkWriteResult, modifiedOffers };
686
+ }
712
687
  }
713
688
  /**
714
689
  * sskts専用オファー保管
715
690
  */
716
691
  // tslint:disable-next-line:max-func-body-length
717
- saveManyByIdentifier4sskts(params) {
718
- return __awaiter(this, void 0, void 0, function* () {
719
- const uniqid = yield Promise.resolve().then(() => require('uniqid'));
720
- const insertBulkWriteOps = [];
721
- // const updateBulkWriteOps: AnyBulkWriteOperation[] = [];
722
- if (Array.isArray(params)) {
723
- params.forEach((p) => {
724
- const newOfferId = uniqid();
725
- // サブオファー最適化(2023-12-22~)
726
- // const unitPriceOffer: factory.aggregateOffer.ISubOffer = { ...p.attributes, id: newOfferId };
727
- const subOffer = p.attributes;
728
- const aggregateOffer = {
729
- project: { id: p.project.id, typeOf: factory.organizationType.Project },
730
- typeOf: factory.offerType.AggregateOffer,
731
- offers: [subOffer]
732
- };
733
- insertBulkWriteOps.push({
734
- updateOne: {
735
- filter: {
736
- 'project.id': { $eq: p.project.id },
737
- 'offers.identifier': { $exists: true, $eq: p.attributes.identifier }
738
- },
739
- update: {
740
- $setOnInsert: {
741
- // ...aggregateOffer,
742
- project: aggregateOffer.project,
743
- typeOf: aggregateOffer.typeOf,
744
- _id: newOfferId
745
- },
746
- $set: { offers: aggregateOffer.offers } // サブオファー最適化(2023-12-22~)
692
+ async saveManyByIdentifier4sskts(params) {
693
+ const uniqid = await Promise.resolve().then(() => require('uniqid'));
694
+ const insertBulkWriteOps = [];
695
+ // const updateBulkWriteOps: AnyBulkWriteOperation[] = [];
696
+ if (Array.isArray(params)) {
697
+ params.forEach((p) => {
698
+ const newOfferId = uniqid();
699
+ // サブオファー最適化(2023-12-22~)
700
+ // const unitPriceOffer: factory.aggregateOffer.ISubOffer = { ...p.attributes, id: newOfferId };
701
+ const subOffer = p.attributes;
702
+ const aggregateOffer = {
703
+ project: { id: p.project.id, typeOf: factory.organizationType.Project },
704
+ typeOf: factory.offerType.AggregateOffer,
705
+ offers: [subOffer]
706
+ };
707
+ insertBulkWriteOps.push({
708
+ updateOne: {
709
+ filter: {
710
+ 'project.id': { $eq: p.project.id },
711
+ 'offers.identifier': { $exists: true, $eq: p.attributes.identifier }
712
+ },
713
+ update: {
714
+ $setOnInsert: {
715
+ // ...aggregateOffer,
716
+ project: aggregateOffer.project,
717
+ typeOf: aggregateOffer.typeOf,
718
+ _id: newOfferId
747
719
  },
748
- upsert: true
749
- }
750
- });
751
- // updateBulkWriteOps.push({
752
- // updateOne: {
753
- // filter: {
754
- // 'project.id': { $eq: aggregateOffer.project.id },
755
- // 'offers.identifier': { $exists: true, $eq: subOffer.identifier }
756
- // },
757
- // update: {
758
- // // 特定の属性のみ更新する(IDを上書きできないので)
759
- // $set: {
760
- // 'offers.0.name': subOffer.name,
761
- // 'offers.0.description': subOffer.description,
762
- // 'offers.0.alternateName': subOffer.alternateName,
763
- // 'offers.0.priceSpecification': subOffer.priceSpecification,
764
- // 'offers.0.additionalProperty': subOffer.additionalProperty,
765
- // ...(Array.isArray(subOffer.eligibleMembershipType))
766
- // ? { 'offers.0.eligibleMembershipType': subOffer.eligibleMembershipType }
767
- // : undefined,
768
- // ...(Array.isArray(subOffer.eligibleMonetaryAmount))
769
- // ? { 'offers.0.eligibleMonetaryAmount': subOffer.eligibleMonetaryAmount }
770
- // : undefined
771
- // },
772
- // },
773
- // upsert: false
774
- // }
775
- // });
720
+ $set: { offers: aggregateOffer.offers } // サブオファー最適化(2023-12-22~)
721
+ },
722
+ upsert: true
723
+ }
776
724
  });
777
- }
778
- if (insertBulkWriteOps.length > 0) {
779
- yield this.aggregateOfferModel.bulkWrite(insertBulkWriteOps, { ordered: false });
780
- // await this.aggregateOfferModel.bulkWrite(updateBulkWriteOps, { ordered: false });
781
- }
782
- });
725
+ // updateBulkWriteOps.push({
726
+ // updateOne: {
727
+ // filter: {
728
+ // 'project.id': { $eq: aggregateOffer.project.id },
729
+ // 'offers.identifier': { $exists: true, $eq: subOffer.identifier }
730
+ // },
731
+ // update: {
732
+ // // 特定の属性のみ更新する(IDを上書きできないので)
733
+ // $set: {
734
+ // 'offers.0.name': subOffer.name,
735
+ // 'offers.0.description': subOffer.description,
736
+ // 'offers.0.alternateName': subOffer.alternateName,
737
+ // 'offers.0.priceSpecification': subOffer.priceSpecification,
738
+ // 'offers.0.additionalProperty': subOffer.additionalProperty,
739
+ // ...(Array.isArray(subOffer.eligibleMembershipType))
740
+ // ? { 'offers.0.eligibleMembershipType': subOffer.eligibleMembershipType }
741
+ // : undefined,
742
+ // ...(Array.isArray(subOffer.eligibleMonetaryAmount))
743
+ // ? { 'offers.0.eligibleMonetaryAmount': subOffer.eligibleMonetaryAmount }
744
+ // : undefined
745
+ // },
746
+ // },
747
+ // upsert: false
748
+ // }
749
+ // });
750
+ });
751
+ }
752
+ if (insertBulkWriteOps.length > 0) {
753
+ await this.aggregateOfferModel.bulkWrite(insertBulkWriteOps, { ordered: false });
754
+ // await this.aggregateOfferModel.bulkWrite(updateBulkWriteOps, { ordered: false });
755
+ }
783
756
  }
784
757
  /**
785
758
  * プロダクトIDからアドオンを除外する
786
759
  */
787
- pullAddOns(params) {
788
- return __awaiter(this, void 0, void 0, function* () {
789
- if (params.addOn.itemOffered.id.$in.length === 0) {
790
- return;
791
- }
792
- const conditions = {
793
- 'project.id': { $eq: params.project.id },
794
- 'offers.addOn.itemOffered.id': { $exists: true, $in: params.addOn.itemOffered.id.$in }
795
- };
796
- // const updatingOffers = <Pick<factory.unitPriceOffer.IUnitPriceOffer, 'id' | 'identifier'>[]>await this.search(
797
- // {
798
- // project: { id: { $eq: params.project.id } },
799
- // addOn: { itemOffered: { id: { $in: params.addOn.itemOffered.id.$in } } }
800
- // },
801
- // { identifier: 1 }
802
- // );
803
- return this.aggregateOfferModel.updateMany(conditions, {
804
- $pull: {
805
- 'offers.$[offer].addOn': {
806
- 'itemOffered.id': { $in: params.addOn.itemOffered.id.$in }
807
- }
760
+ async pullAddOns(params) {
761
+ if (params.addOn.itemOffered.id.$in.length === 0) {
762
+ return;
763
+ }
764
+ const conditions = {
765
+ 'project.id': { $eq: params.project.id },
766
+ 'offers.addOn.itemOffered.id': { $exists: true, $in: params.addOn.itemOffered.id.$in }
767
+ };
768
+ // const updatingOffers = <Pick<factory.unitPriceOffer.IUnitPriceOffer, 'id' | 'identifier'>[]>await this.search(
769
+ // {
770
+ // project: { id: { $eq: params.project.id } },
771
+ // addOn: { itemOffered: { id: { $in: params.addOn.itemOffered.id.$in } } }
772
+ // },
773
+ // { identifier: 1 }
774
+ // );
775
+ return this.aggregateOfferModel.updateMany(conditions, {
776
+ $pull: {
777
+ 'offers.$[offer].addOn': {
778
+ 'itemOffered.id': { $in: params.addOn.itemOffered.id.$in }
808
779
  }
809
- }, {
810
- arrayFilters: [
811
- { 'offer.addOn.itemOffered.id': { $exists: true, $in: params.addOn.itemOffered.id.$in } }
812
- ]
813
- })
814
- .exec();
815
- // if (updatingOffers.length > 0) {
816
- // // no op
817
- // }
818
- // return result;
819
- });
780
+ }
781
+ }, {
782
+ arrayFilters: [
783
+ { 'offer.addOn.itemOffered.id': { $exists: true, $in: params.addOn.itemOffered.id.$in } }
784
+ ]
785
+ })
786
+ .exec();
787
+ // if (updatingOffers.length > 0) {
788
+ // // no op
789
+ // }
790
+ // return result;
820
791
  }
821
- countIncludedInDataCatalog(params) {
822
- return __awaiter(this, void 0, void 0, function* () {
823
- const aggregate = this.aggregateOfferModel.aggregate([
824
- {
825
- $match: {
826
- _id: { $eq: params.id.$eq }
827
- }
828
- },
829
- {
830
- $project: {
831
- _id: 0,
832
- includedInDataCatalogCount: {
833
- $cond: {
834
- if: { $isArray: '$includedInDataCatalog' },
835
- then: { $size: '$includedInDataCatalog' },
836
- else: 0
837
- }
792
+ async countIncludedInDataCatalog(params) {
793
+ const aggregate = this.aggregateOfferModel.aggregate([
794
+ {
795
+ $match: {
796
+ _id: { $eq: params.id.$eq }
797
+ }
798
+ },
799
+ {
800
+ $project: {
801
+ _id: 0,
802
+ includedInDataCatalogCount: {
803
+ $cond: {
804
+ if: { $isArray: '$includedInDataCatalog' },
805
+ then: { $size: '$includedInDataCatalog' },
806
+ else: 0
838
807
  }
839
808
  }
840
809
  }
841
- ]);
842
- return aggregate.exec();
843
- });
810
+ }
811
+ ]);
812
+ return aggregate.exec();
844
813
  }
845
- maxIncludedInDataCatalogCount() {
846
- return __awaiter(this, void 0, void 0, function* () {
847
- const aggregate = this.aggregateOfferModel.aggregate([
848
- // {
849
- // $match: {
850
- // _id: { $eq: params.id.$eq }
851
- // }
852
- // },
853
- {
854
- $project: {
855
- _id: 0,
856
- includedInDataCatalogCount: {
857
- $cond: {
858
- if: { $isArray: '$includedInDataCatalog' },
859
- then: { $size: '$includedInDataCatalog' },
860
- else: 0
861
- }
814
+ async maxIncludedInDataCatalogCount() {
815
+ const aggregate = this.aggregateOfferModel.aggregate([
816
+ // {
817
+ // $match: {
818
+ // _id: { $eq: params.id.$eq }
819
+ // }
820
+ // },
821
+ {
822
+ $project: {
823
+ _id: 0,
824
+ includedInDataCatalogCount: {
825
+ $cond: {
826
+ if: { $isArray: '$includedInDataCatalog' },
827
+ then: { $size: '$includedInDataCatalog' },
828
+ else: 0
862
829
  }
863
830
  }
864
- },
865
- {
866
- $group: {
867
- // tslint:disable-next-line:no-null-keyword
868
- _id: null,
869
- maxCount: { $max: '$includedInDataCatalogCount' }
870
- }
871
- },
872
- {
873
- $project: {
874
- _id: 0,
875
- maxCount: '$maxCount'
876
- }
877
831
  }
878
- ]);
879
- return aggregate.exec();
880
- });
832
+ },
833
+ {
834
+ $group: {
835
+ // tslint:disable-next-line:no-null-keyword
836
+ _id: null,
837
+ maxCount: { $max: '$includedInDataCatalogCount' }
838
+ }
839
+ },
840
+ {
841
+ $project: {
842
+ _id: 0,
843
+ maxCount: '$maxCount'
844
+ }
845
+ }
846
+ ]);
847
+ return aggregate.exec();
881
848
  }
882
849
  }
883
850
  exports.AggregateOfferRepo = AggregateOfferRepo;