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

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