@chevre/domain 23.2.0-alpha.9 → 24.0.0-alpha.0

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 (777) 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 +37 -29
  5. package/lib/chevre/emailMessageBuilder.js +250 -251
  6. package/lib/chevre/errorHandler.js +60 -58
  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/eventEmitter.js +24 -1
  11. package/lib/chevre/factory/accountTransactionIdentifier.js +24 -1
  12. package/lib/chevre/factory/availableProductTypes.js +24 -1
  13. package/lib/chevre/factory/event.d.ts +1 -1
  14. package/lib/chevre/factory/event.js +93 -37
  15. package/lib/chevre/factory/taskIdentifier.js +25 -2
  16. package/lib/chevre/factory/transactionNumber.d.ts +19 -0
  17. package/lib/chevre/factory/transactionNumber.js +80 -0
  18. package/lib/chevre/index.d.ts +2 -1
  19. package/lib/chevre/index.js +46 -36
  20. package/lib/chevre/repo/acceptedOffer.js +200 -197
  21. package/lib/chevre/repo/acceptedPaymentMethod.d.ts +41 -8
  22. package/lib/chevre/repo/acceptedPaymentMethod.js +163 -108
  23. package/lib/chevre/repo/account.js +217 -238
  24. package/lib/chevre/repo/accountTitle.js +32 -21
  25. package/lib/chevre/repo/accountTransaction.js +213 -194
  26. package/lib/chevre/repo/accountingReport.js +111 -107
  27. package/lib/chevre/repo/action.js +875 -883
  28. package/lib/chevre/repo/additionalProperty.js +87 -92
  29. package/lib/chevre/repo/advanceBookingRequirement.js +92 -91
  30. package/lib/chevre/repo/aggregateOffer.d.ts +6 -1
  31. package/lib/chevre/repo/aggregateOffer.js +419 -423
  32. package/lib/chevre/repo/aggregateOrder.js +73 -155
  33. package/lib/chevre/repo/aggregateReservation.d.ts +0 -1
  34. package/lib/chevre/repo/aggregateReservation.js +99 -91
  35. package/lib/chevre/repo/aggregation.js +65 -63
  36. package/lib/chevre/repo/assetTransaction.d.ts +1 -1
  37. package/lib/chevre/repo/assetTransaction.js +719 -730
  38. package/lib/chevre/repo/authorization.js +143 -136
  39. package/lib/chevre/repo/categoryCode.js +137 -147
  40. package/lib/chevre/repo/comment.js +96 -82
  41. package/lib/chevre/repo/concurrentLock.js +40 -29
  42. package/lib/chevre/repo/confirmationNumber.d.ts +1 -0
  43. package/lib/chevre/repo/confirmationNumber.js +48 -54
  44. package/lib/chevre/repo/creativeWork.js +175 -180
  45. package/lib/chevre/repo/credentials.js +39 -51
  46. package/lib/chevre/repo/customer.js +87 -88
  47. package/lib/chevre/repo/customerType.js +52 -62
  48. package/lib/chevre/repo/emailMessage.js +74 -80
  49. package/lib/chevre/repo/event.d.ts +3 -18
  50. package/lib/chevre/repo/event.js +734 -744
  51. package/lib/chevre/repo/eventOffer.d.ts +8 -0
  52. package/lib/chevre/repo/eventOffer.js +149 -118
  53. package/lib/chevre/repo/eventSellerMakesOffer.js +87 -76
  54. package/lib/chevre/repo/eventSeries.d.ts +17 -30
  55. package/lib/chevre/repo/eventSeries.js +391 -347
  56. package/lib/chevre/repo/identity.js +117 -107
  57. package/lib/chevre/repo/identityProvider.d.ts +4 -4
  58. package/lib/chevre/repo/identityProvider.js +95 -96
  59. package/lib/chevre/repo/issuer.js +125 -135
  60. package/lib/chevre/repo/member.js +261 -259
  61. package/lib/chevre/repo/memberProgram.js +180 -177
  62. package/lib/chevre/repo/merchantReturnPolicy.js +84 -94
  63. package/lib/chevre/repo/message.js +145 -135
  64. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
  65. package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
  66. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
  67. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  68. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
  69. package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
  70. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
  71. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
  72. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
  73. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
  74. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
  75. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -2
  76. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
  77. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
  78. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  79. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
  80. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
  81. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
  82. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
  83. package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
  84. package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
  85. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +45 -7
  87. package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
  88. package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
  89. package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
  90. package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
  91. package/lib/chevre/repo/mongoose/schemas/member.js +25 -2
  92. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
  93. package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
  94. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
  95. package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
  96. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +3 -9
  97. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +29 -3
  98. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
  99. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
  101. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
  102. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
  103. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
  104. package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -2
  105. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  106. package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
  107. package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
  108. package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
  109. package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
  110. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  111. package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
  112. package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
  113. package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
  114. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
  115. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
  116. package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
  117. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +40 -0
  118. package/lib/chevre/repo/mongoose/schemas/setting.js +4 -1
  119. package/lib/chevre/repo/mongoose/schemas/task.js +1 -2
  120. package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
  121. package/lib/chevre/repo/mongoose/schemas/transaction.js +25 -2
  122. package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
  123. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
  124. package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
  125. package/lib/chevre/repo/movieTicketType.js +90 -94
  126. package/lib/chevre/repo/note.js +166 -147
  127. package/lib/chevre/repo/noteAboutOrder.js +135 -113
  128. package/lib/chevre/repo/offer/unitPriceInCatalog.js +353 -314
  129. package/lib/chevre/repo/offerCatalog.d.ts +14 -1
  130. package/lib/chevre/repo/offerCatalog.js +313 -300
  131. package/lib/chevre/repo/offerCatalogItem.d.ts +10 -1
  132. package/lib/chevre/repo/offerCatalogItem.js +302 -292
  133. package/lib/chevre/repo/offerItemCondition.js +83 -85
  134. package/lib/chevre/repo/order.js +582 -607
  135. package/lib/chevre/repo/orderInTransaction.js +136 -136
  136. package/lib/chevre/repo/orderNumber.d.ts +6 -0
  137. package/lib/chevre/repo/orderNumber.js +142 -58
  138. package/lib/chevre/repo/ownershipInfo.js +236 -241
  139. package/lib/chevre/repo/passport.js +123 -106
  140. package/lib/chevre/repo/paymentMethod/creditCard.js +175 -170
  141. package/lib/chevre/repo/paymentService.js +202 -200
  142. package/lib/chevre/repo/paymentServiceChannel.js +99 -100
  143. package/lib/chevre/repo/paymentServiceProvider.js +209 -201
  144. package/lib/chevre/repo/pendingReservation.js +300 -307
  145. package/lib/chevre/repo/permit.js +70 -42
  146. package/lib/chevre/repo/person.js +240 -256
  147. package/lib/chevre/repo/place/busStop.js +99 -106
  148. package/lib/chevre/repo/place/entranceGate.d.ts +57 -0
  149. package/lib/chevre/repo/place/entranceGate.js +190 -0
  150. package/lib/chevre/repo/place/hasPOS.js +131 -120
  151. package/lib/chevre/repo/place/movieTheater.d.ts +40 -3
  152. package/lib/chevre/repo/place/movieTheater.js +220 -161
  153. package/lib/chevre/repo/place/screeningRoom.d.ts +49 -41
  154. package/lib/chevre/repo/place/screeningRoom.js +469 -345
  155. package/lib/chevre/repo/place/seat.d.ts +32 -1
  156. package/lib/chevre/repo/place/seat.js +589 -357
  157. package/lib/chevre/repo/place/section.d.ts +34 -3
  158. package/lib/chevre/repo/place/section.js +510 -292
  159. package/lib/chevre/repo/potentialAction.d.ts +4 -4
  160. package/lib/chevre/repo/potentialAction.js +90 -87
  161. package/lib/chevre/repo/priceSpecification.js +125 -146
  162. package/lib/chevre/repo/product.js +226 -239
  163. package/lib/chevre/repo/productHasOfferCatalog.js +62 -50
  164. package/lib/chevre/repo/productModel.js +117 -127
  165. package/lib/chevre/repo/productOffer.js +142 -118
  166. package/lib/chevre/repo/project.js +146 -141
  167. package/lib/chevre/repo/projectMakesOffer.js +119 -108
  168. package/lib/chevre/repo/rateLimit/offer.js +71 -59
  169. package/lib/chevre/repo/reservation.js +392 -398
  170. package/lib/chevre/repo/reserveInterface.js +31 -42
  171. package/lib/chevre/repo/role.js +116 -112
  172. package/lib/chevre/repo/schedule.js +25 -36
  173. package/lib/chevre/repo/seller.d.ts +8 -8
  174. package/lib/chevre/repo/seller.js +137 -147
  175. package/lib/chevre/repo/sellerMakesOffer.js +118 -110
  176. package/lib/chevre/repo/sellerPaymentAccepted.js +115 -109
  177. package/lib/chevre/repo/sellerReturnPolicy.js +97 -97
  178. package/lib/chevre/repo/service/availableHour.js +27 -38
  179. package/lib/chevre/repo/serviceOutput.js +77 -67
  180. package/lib/chevre/repo/serviceOutputIdentifier.d.ts +3 -1
  181. package/lib/chevre/repo/serviceOutputIdentifier.js +80 -51
  182. package/lib/chevre/repo/setting/jwt.js +63 -50
  183. package/lib/chevre/repo/setting.d.ts +1 -1
  184. package/lib/chevre/repo/setting.js +48 -48
  185. package/lib/chevre/repo/stockHolder.js +202 -199
  186. package/lib/chevre/repo/task.d.ts +26 -29
  187. package/lib/chevre/repo/task.js +636 -619
  188. package/lib/chevre/repo/telemetry.js +1 -0
  189. package/lib/chevre/repo/ticket.js +75 -65
  190. package/lib/chevre/repo/transaction.d.ts +5 -5
  191. package/lib/chevre/repo/transaction.js +781 -816
  192. package/lib/chevre/repo/transactionNumber.d.ts +5 -0
  193. package/lib/chevre/repo/transactionNumber.js +100 -51
  194. package/lib/chevre/repo/transactionNumberCounter.js +91 -79
  195. package/lib/chevre/repo/transactionProcess.js +65 -50
  196. package/lib/chevre/repo/trip.js +167 -164
  197. package/lib/chevre/repo/webSite.js +114 -107
  198. package/lib/chevre/repository.d.ts +8 -0
  199. package/lib/chevre/repository.js +486 -639
  200. package/lib/chevre/service/account.js +32 -21
  201. package/lib/chevre/service/accountTransaction/deposit.js +39 -17
  202. package/lib/chevre/service/accountTransaction/factory.js +24 -1
  203. package/lib/chevre/service/accountTransaction/transfer.js +41 -22
  204. package/lib/chevre/service/accountTransaction/withdraw.js +39 -17
  205. package/lib/chevre/service/accountTransaction.js +30 -19
  206. package/lib/chevre/service/aggregation/event/aggregateOffers.js +95 -66
  207. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +84 -61
  208. package/lib/chevre/service/aggregation/event/findEventOffers.js +30 -17
  209. package/lib/chevre/service/aggregation/event/importFromCOA.js +11 -18
  210. package/lib/chevre/service/aggregation/project.js +48 -31
  211. package/lib/chevre/service/aggregation/system.js +256 -147
  212. package/lib/chevre/service/aggregation.js +26 -3
  213. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +55 -18
  214. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +40 -24
  215. package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +40 -15
  216. package/lib/chevre/service/assetTransaction/cancelReservation.js +30 -18
  217. package/lib/chevre/service/assetTransaction/cancelReservationCOA/factory.js +35 -5
  218. package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +4 -13
  219. package/lib/chevre/service/assetTransaction/fixInformAction.d.ts +3 -0
  220. package/lib/chevre/service/assetTransaction/fixInformAction.js +32 -16
  221. package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +36 -25
  222. package/lib/chevre/service/assetTransaction/moneyTransfer.js +131 -94
  223. package/lib/chevre/service/assetTransaction/pay/cancel.d.ts +12 -0
  224. package/lib/chevre/service/assetTransaction/pay/cancel.js +39 -0
  225. package/lib/chevre/service/assetTransaction/pay/check.d.ts +23 -0
  226. package/lib/chevre/service/assetTransaction/pay/check.js +50 -0
  227. package/lib/chevre/service/assetTransaction/pay/confirm.d.ts +24 -0
  228. package/lib/chevre/service/assetTransaction/pay/confirm.js +92 -0
  229. package/lib/chevre/service/assetTransaction/pay/exportTasksById.d.ts +18 -0
  230. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +127 -0
  231. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +48 -0
  232. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +186 -0
  233. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +20 -0
  234. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +72 -0
  235. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.d.ts +2 -2
  236. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.js +29 -16
  237. package/lib/chevre/service/assetTransaction/pay/{factory.d.ts → start/factory.d.ts} +1 -1
  238. package/lib/chevre/service/assetTransaction/pay/{factory.js → start/factory.js} +88 -38
  239. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.d.ts → start/preStart/validateAcceptedPaymentMethodIfNeeded.d.ts} +4 -4
  240. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.js → start/preStart/validateAcceptedPaymentMethodIfNeeded.js} +35 -24
  241. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.d.ts +8 -0
  242. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +67 -0
  243. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.d.ts +13 -0
  244. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +62 -0
  245. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +29 -0
  246. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +54 -0
  247. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +42 -0
  248. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +45 -0
  249. package/lib/chevre/service/assetTransaction/pay/start.d.ts +60 -0
  250. package/lib/chevre/service/assetTransaction/pay/start.js +162 -0
  251. package/lib/chevre/service/assetTransaction/pay.d.ts +8 -170
  252. package/lib/chevre/service/assetTransaction/pay.js +16 -623
  253. package/lib/chevre/service/assetTransaction/refund/factory.js +60 -17
  254. package/lib/chevre/service/assetTransaction/refund/potentialActions.js +35 -21
  255. package/lib/chevre/service/assetTransaction/refund.js +63 -43
  256. package/lib/chevre/service/assetTransaction/registerService/factory.js +96 -33
  257. package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +80 -47
  258. package/lib/chevre/service/assetTransaction/registerService.js +70 -58
  259. package/lib/chevre/service/assetTransaction/reserve/cancel.js +28 -14
  260. package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -4
  261. package/lib/chevre/service/assetTransaction/reserve/confirm.js +44 -26
  262. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +26 -13
  263. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +139 -96
  264. package/lib/chevre/service/assetTransaction/reserve/start/factory/addOffers2seat.d.ts +14 -0
  265. package/lib/chevre/service/assetTransaction/reserve/start/factory/addOffers2seat.js +63 -0
  266. package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +41 -13
  267. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +142 -80
  268. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +93 -23
  269. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +53 -21
  270. package/lib/chevre/service/assetTransaction/reserve/start.js +132 -123
  271. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +33 -17
  272. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +72 -59
  273. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +71 -59
  274. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +30 -19
  275. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +45 -31
  276. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +47 -24
  277. package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +36 -5
  278. package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
  279. package/lib/chevre/service/assetTransaction.js +46 -27
  280. package/lib/chevre/service/delivery/factory.js +33 -8
  281. package/lib/chevre/service/delivery/product/factory.js +48 -13
  282. package/lib/chevre/service/delivery/reservation/factory.js +44 -7
  283. package/lib/chevre/service/delivery.js +78 -56
  284. package/lib/chevre/service/event/processUpdateMovieTheater.d.ts +1 -1
  285. package/lib/chevre/service/event/processUpdateMovieTheater.js +56 -36
  286. package/lib/chevre/service/event/saveScreeningEventSeries.js +98 -58
  287. package/lib/chevre/service/event/saveScreeningEvents.d.ts +2 -2
  288. package/lib/chevre/service/event/saveScreeningEvents.js +65 -50
  289. package/lib/chevre/service/event.js +70 -40
  290. package/lib/chevre/service/iam.js +8 -17
  291. package/lib/chevre/service/moneyTransfer.js +158 -116
  292. package/lib/chevre/service/notification/factory.js +42 -15
  293. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +39 -17
  294. package/lib/chevre/service/notification/notifyByEmail.js +31 -20
  295. package/lib/chevre/service/notification/sendEmailMessage.js +47 -27
  296. package/lib/chevre/service/notification/triggerWebhook.js +82 -57
  297. package/lib/chevre/service/offer/any.js +34 -17
  298. package/lib/chevre/service/offer/event/authorize/defaultOffer.js +24 -1
  299. package/lib/chevre/service/offer/event/authorize/factory.js +173 -63
  300. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +31 -19
  301. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +67 -28
  302. package/lib/chevre/service/offer/event/authorize.js +137 -71
  303. package/lib/chevre/service/offer/event/checkAvailability.js +33 -17
  304. package/lib/chevre/service/offer/event/importFromCOA/factory.js +34 -5
  305. package/lib/chevre/service/offer/event/importFromCOA.js +36 -19
  306. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +66 -41
  307. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +53 -42
  308. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +38 -23
  309. package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +36 -26
  310. package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +38 -23
  311. package/lib/chevre/service/offer/event/searchOffersByIds.js +56 -42
  312. package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +28 -14
  313. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +27 -13
  314. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
  315. package/lib/chevre/service/offer/event/voidTransaction.js +58 -41
  316. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +37 -20
  317. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +76 -43
  318. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +29 -2
  319. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +57 -37
  320. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +81 -30
  321. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +90 -62
  322. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +44 -29
  323. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +31 -18
  324. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +70 -45
  325. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +45 -25
  326. package/lib/chevre/service/offer/factory.js +42 -9
  327. package/lib/chevre/service/offer/moneyTransfer/authorize.js +60 -39
  328. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +39 -22
  329. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +34 -20
  330. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +38 -25
  331. package/lib/chevre/service/offer/onEventChanged.js +106 -72
  332. package/lib/chevre/service/offer/product/factory.js +83 -35
  333. package/lib/chevre/service/offer/product/searchProductOffers.js +53 -24
  334. package/lib/chevre/service/offer/product.js +130 -83
  335. package/lib/chevre/service/offer.d.ts +5 -12
  336. package/lib/chevre/service/offer.js +104 -87
  337. package/lib/chevre/service/order/confirmPayTransaction.js +52 -28
  338. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +81 -42
  339. package/lib/chevre/service/order/deleteOrder.js +51 -36
  340. package/lib/chevre/service/order/findPlaceOrderTransaction.js +26 -12
  341. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +92 -72
  342. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  343. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +25 -3
  344. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +31 -14
  345. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +35 -7
  346. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +33 -16
  347. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
  348. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +46 -10
  349. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +33 -16
  350. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +51 -28
  351. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +41 -21
  352. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +29 -15
  353. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +49 -16
  354. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +52 -35
  355. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +36 -20
  356. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  357. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +34 -10
  358. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +51 -30
  359. package/lib/chevre/service/order/onOrderUpdated/factory.js +27 -6
  360. package/lib/chevre/service/order/onOrderUpdated.js +36 -15
  361. package/lib/chevre/service/order/payOrder.js +26 -12
  362. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +32 -20
  363. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +55 -16
  364. package/lib/chevre/service/order/placeOrder/factory.js +63 -24
  365. package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +7 -13
  366. package/lib/chevre/service/order/placeOrder.js +35 -23
  367. package/lib/chevre/service/order/placeOrderWithoutTransaction.js +33 -18
  368. package/lib/chevre/service/order/returnOrder.js +55 -32
  369. package/lib/chevre/service/order/sendOrder.js +65 -39
  370. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +42 -25
  371. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +52 -41
  372. package/lib/chevre/service/payment/any/factory.js +137 -55
  373. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +27 -13
  374. package/lib/chevre/service/payment/any/onPayActionCompleted.js +36 -18
  375. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +61 -38
  376. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +45 -25
  377. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +39 -16
  378. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +38 -21
  379. package/lib/chevre/service/payment/any/person2username.js +55 -45
  380. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +31 -18
  381. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +28 -17
  382. package/lib/chevre/service/payment/any.js +206 -144
  383. package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +31 -5
  384. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +68 -26
  385. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +29 -15
  386. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +29 -2
  387. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +34 -3
  388. package/lib/chevre/service/payment/creditCard/authorize.js +49 -25
  389. package/lib/chevre/service/payment/creditCard/factory.js +46 -5
  390. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +31 -18
  391. package/lib/chevre/service/payment/creditCard/payCreditCard.js +55 -37
  392. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +64 -52
  393. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +57 -46
  394. package/lib/chevre/service/payment/creditCard/voidTransaction.js +39 -27
  395. package/lib/chevre/service/payment/faceToFace.js +37 -23
  396. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +68 -26
  397. package/lib/chevre/service/payment/factory.js +74 -25
  398. package/lib/chevre/service/payment/movieTicket/authorize.js +58 -30
  399. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +45 -25
  400. package/lib/chevre/service/payment/movieTicket/factory.js +64 -15
  401. package/lib/chevre/service/payment/movieTicket/getCredentials.js +28 -15
  402. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +53 -41
  403. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +37 -21
  404. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +90 -64
  405. package/lib/chevre/service/payment/movieTicket/validation.js +69 -39
  406. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +31 -18
  407. package/lib/chevre/service/payment/paymentCard.js +117 -108
  408. package/lib/chevre/service/permit.js +60 -36
  409. package/lib/chevre/service/product.js +50 -29
  410. package/lib/chevre/service/project.js +22 -31
  411. package/lib/chevre/service/report/ownershipInfo.js +9 -7
  412. package/lib/chevre/service/report/telemetry.js +86 -79
  413. package/lib/chevre/service/report.js +25 -2
  414. package/lib/chevre/service/reserve/cancelReservation.js +122 -97
  415. package/lib/chevre/service/reserve/checkInReservation.js +52 -31
  416. package/lib/chevre/service/reserve/confirmReservation.js +61 -41
  417. package/lib/chevre/service/reserve/factory.js +66 -21
  418. package/lib/chevre/service/reserve/findByCode.js +36 -18
  419. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +41 -24
  420. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +40 -25
  421. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +61 -30
  422. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +68 -37
  423. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +67 -37
  424. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +40 -23
  425. package/lib/chevre/service/reserve/searchByOrder.js +33 -20
  426. package/lib/chevre/service/reserve/useReservation.js +75 -36
  427. package/lib/chevre/service/reserve/verifyToken4reservation.js +30 -14
  428. package/lib/chevre/service/reserveCOA/cancelReservation.js +30 -17
  429. package/lib/chevre/service/reserveCOA/factory.js +29 -2
  430. package/lib/chevre/service/task/acceptCOAOffer.js +44 -26
  431. package/lib/chevre/service/task/aggregateOffers.js +26 -12
  432. package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
  433. package/lib/chevre/service/task/aggregateScreeningEvent.js +27 -13
  434. package/lib/chevre/service/task/authorizePayment.js +32 -15
  435. package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
  436. package/lib/chevre/service/task/cancelPendingReservation.js +34 -21
  437. package/lib/chevre/service/task/cancelReservation.js +26 -12
  438. package/lib/chevre/service/task/checkMovieTicket.js +39 -19
  439. package/lib/chevre/service/task/checkResource.js +30 -16
  440. package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
  441. package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
  442. package/lib/chevre/service/task/confirmRegisterService.js +3 -12
  443. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +51 -32
  444. package/lib/chevre/service/task/confirmReserveTransaction.js +72 -46
  445. package/lib/chevre/service/task/createAccountingReport.js +37 -20
  446. package/lib/chevre/service/task/deletePerson.js +77 -63
  447. package/lib/chevre/service/task/deleteTransaction.js +26 -12
  448. package/lib/chevre/service/task/givePointAward.js +27 -13
  449. package/lib/chevre/service/task/handleNotification.js +4 -14
  450. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +31 -18
  451. package/lib/chevre/service/task/importEventsFromCOA.js +31 -18
  452. package/lib/chevre/service/task/importOffersFromCOA.js +33 -20
  453. package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
  454. package/lib/chevre/service/task/moneyTransfer.js +27 -13
  455. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
  456. package/lib/chevre/service/task/onAuthorizationCreated.js +34 -19
  457. package/lib/chevre/service/task/onEventChanged.js +3 -12
  458. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
  459. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.d.ts +13 -0
  460. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +67 -0
  461. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +13 -0
  462. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +70 -0
  463. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.d.ts +15 -0
  464. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +72 -0
  465. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.d.ts +17 -0
  466. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +89 -0
  467. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.d.ts +19 -0
  468. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +74 -0
  469. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.d.ts +20 -0
  470. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +65 -0
  471. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +27 -0
  472. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +113 -0
  473. package/lib/chevre/service/task/onResourceDeleted.d.ts +6 -0
  474. package/lib/chevre/service/task/onResourceDeleted.js +181 -0
  475. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +32 -21
  476. package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
  477. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +34 -23
  478. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +36 -25
  479. package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +32 -15
  480. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +44 -27
  481. package/lib/chevre/service/task/onResourceUpdated.js +285 -144
  482. package/lib/chevre/service/task/pay.js +31 -16
  483. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +28 -15
  484. package/lib/chevre/service/task/payment/payByTask.js +81 -44
  485. package/lib/chevre/service/task/payment/refundByTask.js +34 -21
  486. package/lib/chevre/service/task/payment/voidPaymentByTask.js +33 -19
  487. package/lib/chevre/service/task/placeOrder.js +6 -12
  488. package/lib/chevre/service/task/publishPaymentUrl.js +32 -14
  489. package/lib/chevre/service/task/refund.js +31 -16
  490. package/lib/chevre/service/task/registerService.js +3 -12
  491. package/lib/chevre/service/task/reserve.js +3 -12
  492. package/lib/chevre/service/task/returnMoneyTransfer.js +26 -12
  493. package/lib/chevre/service/task/returnOrder.js +6 -12
  494. package/lib/chevre/service/task/returnPayTransaction.js +83 -52
  495. package/lib/chevre/service/task/returnPointAward.js +27 -13
  496. package/lib/chevre/service/task/returnReserveTransaction.js +60 -35
  497. package/lib/chevre/service/task/sendEmailMessage.js +6 -13
  498. package/lib/chevre/service/task/sendOrder.js +35 -15
  499. package/lib/chevre/service/task/syncResourcesFromCOA.js +74 -52
  500. package/lib/chevre/service/task/triggerWebhook.js +6 -12
  501. package/lib/chevre/service/task/useReservation.js +11 -14
  502. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
  503. package/lib/chevre/service/task/voidPayTransaction.js +7 -12
  504. package/lib/chevre/service/task/voidPayment.js +26 -12
  505. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
  506. package/lib/chevre/service/task/voidReserveTransaction.js +34 -17
  507. package/lib/chevre/service/task.d.ts +1 -1
  508. package/lib/chevre/service/task.js +43 -27
  509. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.d.ts +2 -1
  510. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +37 -22
  511. package/lib/chevre/service/taskHandler/onOperationFailed.d.ts +2 -1
  512. package/lib/chevre/service/taskHandler/onOperationFailed.js +43 -17
  513. package/lib/chevre/service/taskHandler.d.ts +2 -20
  514. package/lib/chevre/service/taskHandler.js +50 -26
  515. package/lib/chevre/service/transaction/deleteTransaction.js +127 -88
  516. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +45 -13
  517. package/lib/chevre/service/transaction/moneyTransfer/factory.js +37 -5
  518. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +35 -24
  519. package/lib/chevre/service/transaction/moneyTransfer.js +151 -104
  520. package/lib/chevre/service/transaction/placeOrder/confirm/factory/result.js +24 -1
  521. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +73 -52
  522. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
  523. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +27 -14
  524. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +32 -7
  525. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +32 -9
  526. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +26 -4
  527. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +59 -50
  528. package/lib/chevre/service/transaction/placeOrder/confirm.js +108 -66
  529. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +61 -19
  530. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +34 -17
  531. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +29 -15
  532. package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +30 -16
  533. package/lib/chevre/service/transaction/placeOrder/start/factory.js +51 -8
  534. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +77 -61
  535. package/lib/chevre/service/transaction/placeOrder/start.js +37 -18
  536. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +43 -11
  537. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +200 -191
  538. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +98 -89
  539. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +64 -49
  540. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +75 -56
  541. package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +142 -120
  542. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +83 -80
  543. package/lib/chevre/service/transaction/returnOrder/preStart.js +70 -49
  544. package/lib/chevre/service/transaction/returnOrder.js +60 -39
  545. package/lib/chevre/service/transaction.js +101 -49
  546. package/lib/chevre/service/validation/validateEvent.js +3 -12
  547. package/lib/chevre/service/validation/validateOrder.js +41 -26
  548. package/lib/chevre/service.js +113 -136
  549. package/lib/chevre/settings.d.ts +1 -2
  550. package/lib/chevre/settings.js +8 -4
  551. package/lib/chevre/taskSettings.d.ts +58 -0
  552. package/lib/chevre/{settings/aggregation.js → taskSettings.js} +4 -0
  553. package/lib/index.js +24 -2
  554. package/package.json +27 -30
  555. package/example/src/chevre/acceptedPaymentMethodOffer/adminAcceptedPaymentMethodOffers.ts +0 -68
  556. package/example/src/chevre/actions/checkAcceptPayActions.ts +0 -60
  557. package/example/src/chevre/actions/checkAuthorizePaymentActions.ts +0 -55
  558. package/example/src/chevre/activateOptionalAggregationSettings.ts +0 -19
  559. package/example/src/chevre/addEventBySchedule.ts +0 -46
  560. package/example/src/chevre/adminIdentities.ts +0 -71
  561. package/example/src/chevre/aggreateOwnershipInfosByOrder.ts +0 -24
  562. package/example/src/chevre/aggregateEventPublicFields.ts +0 -47
  563. package/example/src/chevre/aggregateOfferCatalogItemList.ts +0 -36
  564. package/example/src/chevre/aggregateScreeningEventMaxVersion.ts +0 -36
  565. package/example/src/chevre/aggregation/aggregateOffersOnEvent.ts +0 -86
  566. package/example/src/chevre/aggregation/aggregateOrderOfCustomer.ts +0 -138
  567. package/example/src/chevre/aggregation/aggregateOrderOfCustomerGlobally.ts +0 -34
  568. package/example/src/chevre/aggregation/aggregateOrderOfSeatByRoyalCustomers.ts +0 -172
  569. package/example/src/chevre/aggregation/aggregateOrderOnSystem.ts +0 -40
  570. package/example/src/chevre/aggregation/aggregateReservationByProject.ts +0 -79
  571. package/example/src/chevre/aggregation/aggregateSystem.ts +0 -201
  572. package/example/src/chevre/aggregation/aggregateTasks.ts +0 -41
  573. package/example/src/chevre/aggregation/createAggregateEventTasks.ts +0 -71
  574. package/example/src/chevre/aggregation/searchAggregateReservations.ts +0 -33
  575. package/example/src/chevre/assetTransaction/checkPayTransactionsTicketToken.ts +0 -67
  576. package/example/src/chevre/assetTransaction/processReserve.ts +0 -149
  577. package/example/src/chevre/attendIfNotAttended.ts +0 -31
  578. package/example/src/chevre/authorizeEventServiceOffer.ts +0 -122
  579. package/example/src/chevre/categoryCode/checkUniqueness.ts +0 -69
  580. package/example/src/chevre/changeOrderStatus.ts +0 -29
  581. package/example/src/chevre/checkCustomerAttributesLength.ts +0 -109
  582. package/example/src/chevre/checkEventDuration.ts +0 -59
  583. package/example/src/chevre/checkPaymentServiceUniqueness.ts +0 -79
  584. package/example/src/chevre/checkProjectMembers.ts +0 -55
  585. package/example/src/chevre/checkReserveTransactionSizes.ts +0 -46
  586. package/example/src/chevre/cleanActions.ts +0 -23
  587. package/example/src/chevre/cleanReservations.ts +0 -69
  588. package/example/src/chevre/cleanTransactions.ts +0 -39
  589. package/example/src/chevre/concurrentLock/lockOfferRateLimit.ts +0 -64
  590. package/example/src/chevre/concurrentLock/lockTransactionProcess.ts +0 -44
  591. package/example/src/chevre/countPotentiallyExportTasks.ts +0 -42
  592. package/example/src/chevre/countTransactions.ts +0 -30
  593. package/example/src/chevre/createProject.ts +0 -19
  594. package/example/src/chevre/createTaskIfNotExistByAlternateName.ts +0 -57
  595. package/example/src/chevre/db/stats.ts +0 -35
  596. package/example/src/chevre/deleteDiscontinuedPeople.ts +0 -153
  597. package/example/src/chevre/deleteDiscontinuedPeopleByFetch.ts +0 -38
  598. package/example/src/chevre/deleteOwnershipInfosByOwnedThrough.ts +0 -79
  599. package/example/src/chevre/deleteStartDatePassedCertainPeriod.ts +0 -27
  600. package/example/src/chevre/deleteTasksByName.ts +0 -30
  601. package/example/src/chevre/event/checkEventAdditionalPropertyUniqueness.ts +0 -108
  602. package/example/src/chevre/event/importEventSeriesFromCOAByTitle.ts +0 -83
  603. package/example/src/chevre/event/importEventsFromCOAByTitle.ts +0 -148
  604. package/example/src/chevre/event/migrateEventAdditionalProperty2identifier.ts +0 -121
  605. package/example/src/chevre/event/migrateEventMaximumPhysicalAttendeeCapacity.ts +0 -76
  606. package/example/src/chevre/event/updateSellerMakesOffersByIdentifier.ts +0 -106
  607. package/example/src/chevre/event/upsertManyScreeningEventByIdentifier.ts +0 -191
  608. package/example/src/chevre/eventSeries/migrateEventSeriesOffers.ts +0 -75
  609. package/example/src/chevre/eventSeries/migrateEventSeriesUnacceptedPaymentMethod.ts +0 -93
  610. package/example/src/chevre/findAnyEventById.ts +0 -24
  611. package/example/src/chevre/findAuthorizePaymentAction.ts +0 -34
  612. package/example/src/chevre/findAvailableChannelMovieTicket.ts +0 -25
  613. package/example/src/chevre/findCheckAction.ts +0 -34
  614. package/example/src/chevre/findCustomerByOrderNumber.ts +0 -19
  615. package/example/src/chevre/findItemListElementByCatalogId.ts +0 -30
  616. package/example/src/chevre/findItemListElementById.ts +0 -23
  617. package/example/src/chevre/findJWTSetting.ts +0 -19
  618. package/example/src/chevre/findOneAvailableHours.ts +0 -39
  619. package/example/src/chevre/findReservationByCode.ts +0 -64
  620. package/example/src/chevre/findSchedule.ts +0 -43
  621. package/example/src/chevre/giveUpStartDatePassedCertainPeriod.ts +0 -56
  622. package/example/src/chevre/identity/getCommonClients.ts +0 -126
  623. package/example/src/chevre/identity/migrateClients2oauth.ts +0 -200
  624. package/example/src/chevre/importCategoryCodesFromCOA.ts +0 -34
  625. package/example/src/chevre/importEventsFromCOA.ts +0 -66
  626. package/example/src/chevre/investigateEvents.ts +0 -86
  627. package/example/src/chevre/investigateTransaction.ts +0 -66
  628. package/example/src/chevre/isPaymentAcceptedBySeller.ts +0 -24
  629. package/example/src/chevre/issuer/adminMemberProgramTiers.ts +0 -55
  630. package/example/src/chevre/issuer/migrateIssuerUrls.ts +0 -62
  631. package/example/src/chevre/issuer/renameIssuerIdentifier.ts +0 -61
  632. package/example/src/chevre/maintenance/checkTransactionStatuses.ts +0 -105
  633. package/example/src/chevre/makeExpiredManyTasks.ts +0 -27
  634. package/example/src/chevre/makeTransactionExpired.ts +0 -28
  635. package/example/src/chevre/member/migrateMemberIdentifier.ts +0 -99
  636. package/example/src/chevre/migrateAuthorizeEventServiceOfferChevre.ts +0 -84
  637. package/example/src/chevre/migrateCancelReservationObject.ts +0 -71
  638. package/example/src/chevre/migrateCognitoUser.ts +0 -153
  639. package/example/src/chevre/migrateCustomerAdditionalProperties.ts +0 -116
  640. package/example/src/chevre/migrateEventSellerMakesOfferAvailableAt.ts +0 -101
  641. package/example/src/chevre/migrateIdentities.ts +0 -69
  642. package/example/src/chevre/migrateProjectSettings.ts +0 -64
  643. package/example/src/chevre/migrateRoomAdditionalProperties.ts +0 -118
  644. package/example/src/chevre/migrateRoomSectionAdditionalProperties.ts +0 -121
  645. package/example/src/chevre/note/findNotes.ts +0 -34
  646. package/example/src/chevre/note/upsertNotesByIdentifier.ts +0 -63
  647. package/example/src/chevre/notifyAbortedTasksByEmail.ts +0 -56
  648. package/example/src/chevre/notifyByEmail.ts +0 -43
  649. package/example/src/chevre/offerCatalog/updateManyOfferCatalogsByIds.ts +0 -49
  650. package/example/src/chevre/offers/checkIncludedInCatalogCount.ts +0 -47
  651. package/example/src/chevre/offers/createSampleOffers.ts +0 -154
  652. package/example/src/chevre/offers/projectItemListElement.ts +0 -54
  653. package/example/src/chevre/offers/searchAvaialbleAppliesToMovieTicketByOfferCatalogId.ts +0 -51
  654. package/example/src/chevre/offers/searchByOfferCatalogIdWithSortIndex.ts +0 -44
  655. package/example/src/chevre/offers/searchOfferCatalogItemAvailability.ts +0 -68
  656. package/example/src/chevre/optimizeActions.ts +0 -61
  657. package/example/src/chevre/orders/searchOrders.ts +0 -28
  658. package/example/src/chevre/orders/searchWithUnwoundAcceptedOffers.ts +0 -73
  659. package/example/src/chevre/paymentServices/findPaymentServices.ts +0 -37
  660. package/example/src/chevre/pendingReservation/findEventSeatOffersBySection.ts +0 -46
  661. package/example/src/chevre/person/checkUserPoolClients.ts +0 -120
  662. package/example/src/chevre/person/cleanUpCognitoUsers.ts +0 -140
  663. package/example/src/chevre/person/cleanUpCognitoUsersByFetch.ts +0 -162
  664. package/example/src/chevre/person/cleanUpCreditCard.ts +0 -113
  665. package/example/src/chevre/person/updateProfile.ts +0 -56
  666. package/example/src/chevre/place/adminHasPOS.ts +0 -44
  667. package/example/src/chevre/place/aggregateSeatingTypes.ts +0 -29
  668. package/example/src/chevre/place/checkSectionCount.ts +0 -27
  669. package/example/src/chevre/place/findSectionsByRoom.ts +0 -50
  670. package/example/src/chevre/place/migrateSectionIdentifier.ts +0 -92
  671. package/example/src/chevre/processAction.ts +0 -44
  672. package/example/src/chevre/processOrder.ts +0 -90
  673. package/example/src/chevre/product/findHasOfferCatalog.ts +0 -31
  674. package/example/src/chevre/productOffer/publishMemberTierToken.ts +0 -92
  675. package/example/src/chevre/project/unsetProjectSettings.ts +0 -73
  676. package/example/src/chevre/projectEventFieldsById.ts +0 -23
  677. package/example/src/chevre/projectFields.ts +0 -28
  678. package/example/src/chevre/projectFieldsById.ts +0 -30
  679. package/example/src/chevre/projectOwnershipInfoFieldsById.ts +0 -24
  680. package/example/src/chevre/pushIncludedInDataCatalog.ts +0 -47
  681. package/example/src/chevre/reExportAction.ts +0 -40
  682. package/example/src/chevre/reIndex.ts +0 -20
  683. package/example/src/chevre/recreateRefundTasks.ts +0 -187
  684. package/example/src/chevre/roles/addAdminEventSeriesReadPermissionIfNotExists.ts +0 -49
  685. package/example/src/chevre/roles/addAdminMovieReadPermissionIfNotExists.ts +0 -49
  686. package/example/src/chevre/roles/addAdminNotePermissionIfNotExists.ts +0 -48
  687. package/example/src/chevre/roles/addAdminPaymentServiceReadPermissionIfNotExists.ts +0 -49
  688. package/example/src/chevre/roles/addAdminProductHasOfferCatalogReadPermissionIfNotExists.ts +0 -33
  689. package/example/src/chevre/roles/addAdminSeatReadPermissionIfNotExists.ts +0 -33
  690. package/example/src/chevre/roles/addAdminSeatWritePermissionIfNotExists.ts +0 -33
  691. package/example/src/chevre/roles/addAdminSellerEventOfferIfNotExists.ts +0 -48
  692. package/example/src/chevre/roles/addProjectCreatorRole.ts +0 -48
  693. package/example/src/chevre/roles/assignGlobalRoles.ts +0 -72
  694. package/example/src/chevre/roles/findPermissions.ts +0 -84
  695. package/example/src/chevre/roles/findRoleNames.ts +0 -117
  696. package/example/src/chevre/roles/removeConsolePermissionIfExists.ts +0 -34
  697. package/example/src/chevre/roles/removePermissionFromAPIRoles.ts +0 -46
  698. package/example/src/chevre/roles/removePermissionIfExists.ts +0 -34
  699. package/example/src/chevre/saveOfferCatalogItem.ts +0 -40
  700. package/example/src/chevre/saveWebSite.ts +0 -56
  701. package/example/src/chevre/searchAcceptedOfferIds.ts +0 -57
  702. package/example/src/chevre/searchActionsByOrderNumber.ts +0 -29
  703. package/example/src/chevre/searchActionsByPurpose.ts +0 -38
  704. package/example/src/chevre/searchActionsBySameAs.ts +0 -27
  705. package/example/src/chevre/searchAggregateOffers.ts +0 -51
  706. package/example/src/chevre/searchAggregations.ts +0 -50
  707. package/example/src/chevre/searchAuthorizations.ts +0 -36
  708. package/example/src/chevre/searchCheckMovieTicketResultYkknInfo.ts +0 -56
  709. package/example/src/chevre/searchEventHasOfferCatalog.ts +0 -43
  710. package/example/src/chevre/searchEventSeats.ts +0 -45
  711. package/example/src/chevre/searchIdsByReservationNumber.ts +0 -16
  712. package/example/src/chevre/searchMembers.ts +0 -55
  713. package/example/src/chevre/searchOfferCatalogItemListElement.ts +0 -26
  714. package/example/src/chevre/searchOffers.ts +0 -68
  715. package/example/src/chevre/searchProducts.ts +0 -28
  716. package/example/src/chevre/searchProjects.ts +0 -36
  717. package/example/src/chevre/searchReservationsByOrder.ts +0 -42
  718. package/example/src/chevre/searchSellersByAggregate.ts +0 -33
  719. package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +0 -31
  720. package/example/src/chevre/seller/adminMakesOffer.ts +0 -113
  721. package/example/src/chevre/sendEmailMessage.ts +0 -60
  722. package/example/src/chevre/sendGrid/filterEmailActivity.ts +0 -31
  723. package/example/src/chevre/settings/addSettings.ts +0 -46
  724. package/example/src/chevre/stockHolder/findSeatsBySection.ts +0 -59
  725. package/example/src/chevre/stockHolder/getSize.ts +0 -97
  726. package/example/src/chevre/stockHolder/projectPendingReservation.ts +0 -43
  727. package/example/src/chevre/stockHolder/searchSeats.ts +0 -61
  728. package/example/src/chevre/task/countPotentiallyRunning.ts +0 -41
  729. package/example/src/chevre/task/countTasks.ts +0 -51
  730. package/example/src/chevre/task/deleteRunsAtPassedCertainPeriod.ts +0 -43
  731. package/example/src/chevre/task/deleteUnexpectedTasks.ts +0 -23
  732. package/example/src/chevre/task/emitRunning.ts +0 -89
  733. package/example/src/chevre/transaction/processPlaceOrder.ts +0 -57
  734. package/example/src/chevre/transaction/processReturnOrder.ts +0 -43
  735. package/example/src/chevre/transaction/startExportTasks.ts +0 -21
  736. package/example/src/chevre/unsetUnnecessaryFields.ts +0 -31
  737. package/example/src/chevre/updateEventPartiallyById.ts +0 -22
  738. package/example/src/chevre/updateProjectAggregateReservation.ts +0 -21
  739. package/example/src/chevre/upsertOfferCatalogItemsByIdentifier.ts +0 -46
  740. package/example/src/chevre/upsertOfferCatalogsByIdentifier.ts +0 -46
  741. package/example/src/chevre/upsertOffersByIdentifier.ts +0 -61
  742. package/example/src/chevre/upsertScreeningEventSeriesByVersion.ts +0 -102
  743. package/example/src/chevre/validateCheckMovieTicketActions.ts +0 -70
  744. package/example/src/customSearch.ts +0 -48
  745. package/example/src/duration.ts +0 -22
  746. package/example/src/fetch.ts +0 -45
  747. package/example/src/idaas/auth0/adminApplications.ts +0 -183
  748. package/example/src/idaas/auth0/getToken.ts +0 -55
  749. package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +0 -84
  750. package/example/src/moment.ts +0 -22
  751. package/example/src/mongoConnectionList.ts +0 -81
  752. package/example/src/mvtkMessage.ts +0 -11
  753. package/example/src/objectId.ts +0 -12
  754. package/example/src/redisClientList.ts +0 -80
  755. package/example/src/redisMulti.ts +0 -63
  756. package/example/src/regex.ts +0 -31
  757. package/example/src/signPayload.ts +0 -50
  758. package/example/src/verifyToken.ts +0 -44
  759. package/lib/chevre/repo/mongoose/onIndexCreated.d.ts +0 -2
  760. package/lib/chevre/repo/mongoose/onIndexCreated.js +0 -11
  761. package/lib/chevre/service/eventOld.d.ts +0 -60
  762. package/lib/chevre/service/eventOld.js +0 -864
  763. package/lib/chevre/service/task/createEvent/createEvent.d.ts +0 -25
  764. package/lib/chevre/service/task/createEvent/createEvent.js +0 -45
  765. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.d.ts +0 -22
  766. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.js +0 -188
  767. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.d.ts +0 -15
  768. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.js +0 -116
  769. package/lib/chevre/service/task/createEvent/createEventBySchedule.d.ts +0 -25
  770. package/lib/chevre/service/task/createEvent/createEventBySchedule.js +0 -107
  771. package/lib/chevre/service/task/createEvent/createEventSeries.d.ts +0 -13
  772. package/lib/chevre/service/task/createEvent/createEventSeries.js +0 -118
  773. package/lib/chevre/service/task/createEvent.d.ts +0 -6
  774. package/lib/chevre/service/task/createEvent.js +0 -46
  775. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +0 -45
  776. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +0 -447
  777. package/lib/chevre/settings/aggregation.d.ts +0 -35
@@ -1,30 +1,33 @@
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;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
21
24
  };
22
25
  Object.defineProperty(exports, "__esModule", { value: true });
23
26
  exports.EventRepo = void 0;
24
27
  const mongoose_1 = require("mongoose");
25
28
  const errorHandler_1 = require("../errorHandler");
26
- const factory = require("../factory");
27
- const EventFactory = require("../factory/event");
29
+ const factory = __importStar(require("../factory"));
30
+ const EventFactory = __importStar(require("../factory/event"));
28
31
  const settings_1 = require("../settings");
29
32
  const event_1 = require("./mongoose/schemas/event");
30
33
  const AVAILABLE_PUBLIC_PROJECT_FIELDS = [
@@ -39,6 +42,7 @@ const AVAILABLE_PUBLIC_PROJECT_FIELDS = [
39
42
  * イベントリポジトリ
40
43
  */
41
44
  class EventRepo {
45
+ eventModel;
42
46
  constructor(connection) {
43
47
  this.eventModel = connection.model(event_1.modelName, (0, event_1.createSchema)());
44
48
  }
@@ -50,9 +54,7 @@ class EventRepo {
50
54
  // return (USE_OBJECT_ID_AS_EVENT_ID) ? new Types.ObjectId().toHexString() : uniqid();
51
55
  return new mongoose_1.Types.ObjectId().toHexString(); // 設定を廃止(2025-11-20~)
52
56
  }
53
- // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
54
57
  static CREATE_MONGO_CONDITIONS(conditions) {
55
- 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;
56
58
  const andConditions = [];
57
59
  const typeOfEq = conditions.typeOf;
58
60
  if (typeof typeOfEq === 'string') {
@@ -66,19 +68,19 @@ class EventRepo {
66
68
  if (typeof typeOfEq !== 'string' && !Array.isArray(typeOfIn)) {
67
69
  throw new factory.errors.ArgumentNull('typeOf');
68
70
  }
69
- const projectIdEq = (_b = (_a = conditions.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
71
+ const projectIdEq = conditions.project?.id?.$eq;
70
72
  if (typeof projectIdEq === 'string') {
71
73
  andConditions.push({ 'project.id': { $eq: projectIdEq } });
72
74
  }
73
- const organizerIdEq = (_d = (_c = conditions.organizer) === null || _c === void 0 ? void 0 : _c.id) === null || _d === void 0 ? void 0 : _d.$eq;
75
+ const organizerIdEq = conditions.organizer?.id?.$eq;
74
76
  if (typeof organizerIdEq === 'string') {
75
77
  andConditions.push({ 'organizer.id': { $exists: true, $eq: organizerIdEq } });
76
78
  }
77
- const idEq = (_e = conditions.id) === null || _e === void 0 ? void 0 : _e.$eq;
79
+ const idEq = conditions.id?.$eq;
78
80
  if (typeof idEq === 'string') {
79
81
  andConditions.push({ _id: { $eq: idEq } });
80
82
  }
81
- const idIn = (_f = conditions.id) === null || _f === void 0 ? void 0 : _f.$in;
83
+ const idIn = conditions.id?.$in;
82
84
  if (Array.isArray(idIn)) {
83
85
  andConditions.push({ _id: { $in: idIn } });
84
86
  }
@@ -86,64 +88,57 @@ class EventRepo {
86
88
  if (Array.isArray(identifierIn)) {
87
89
  andConditions.push({ identifier: { $exists: true, $in: identifierIn } });
88
90
  }
89
- // tslint:disable-next-line:no-single-line-block-comment
90
91
  /* istanbul ignore else */
91
92
  if (Array.isArray(conditions.eventStatuses)) {
92
93
  andConditions.push({
93
94
  eventStatus: { $in: conditions.eventStatuses }
94
95
  });
95
96
  }
96
- // tslint:disable-next-line:no-single-line-block-comment
97
97
  /* istanbul ignore else */
98
98
  if (conditions.inSessionFrom !== undefined) {
99
99
  andConditions.push({
100
100
  endDate: { $gte: conditions.inSessionFrom }
101
101
  });
102
102
  }
103
- // tslint:disable-next-line:no-single-line-block-comment
104
103
  /* istanbul ignore else */
105
104
  if (conditions.inSessionThrough !== undefined) {
106
105
  andConditions.push({
107
106
  startDate: { $lte: conditions.inSessionThrough }
108
107
  });
109
108
  }
110
- // tslint:disable-next-line:no-single-line-block-comment
111
109
  /* istanbul ignore else */
112
110
  if (conditions.startFrom !== undefined) {
113
111
  andConditions.push({
114
112
  startDate: { $gte: conditions.startFrom }
115
113
  });
116
114
  }
117
- // tslint:disable-next-line:no-single-line-block-comment
118
115
  /* istanbul ignore else */
119
116
  if (conditions.startThrough !== undefined) {
120
117
  andConditions.push({
121
118
  startDate: { $lte: conditions.startThrough }
122
119
  });
123
120
  }
124
- // tslint:disable-next-line:no-single-line-block-comment
125
121
  /* istanbul ignore else */
126
122
  if (conditions.endFrom !== undefined) {
127
123
  andConditions.push({
128
124
  endDate: { $gte: conditions.endFrom }
129
125
  });
130
126
  }
131
- // tslint:disable-next-line:no-single-line-block-comment
132
127
  /* istanbul ignore else */
133
128
  if (conditions.endThrough !== undefined) {
134
129
  andConditions.push({
135
130
  endDate: { $lte: conditions.endThrough }
136
131
  });
137
132
  }
138
- const locationBranchCodeEq = (_h = (_g = conditions.location) === null || _g === void 0 ? void 0 : _g.branchCode) === null || _h === void 0 ? void 0 : _h.$eq;
133
+ const locationBranchCodeEq = conditions.location?.branchCode?.$eq;
139
134
  if (typeof locationBranchCodeEq === 'string') {
140
135
  andConditions.push({ 'location.branchCode': { $exists: true, $eq: locationBranchCodeEq } });
141
136
  }
142
- const locationBranchCodeIn = (_k = (_j = conditions.location) === null || _j === void 0 ? void 0 : _j.branchCode) === null || _k === void 0 ? void 0 : _k.$in;
137
+ const locationBranchCodeIn = conditions.location?.branchCode?.$in;
143
138
  if (Array.isArray(locationBranchCodeIn)) {
144
139
  andConditions.push({ 'location.branchCode': { $exists: true, $in: locationBranchCodeIn } });
145
140
  }
146
- const additionalPropertyElemMatch = (_l = conditions.additionalProperty) === null || _l === void 0 ? void 0 : _l.$elemMatch;
141
+ const additionalPropertyElemMatch = conditions.additionalProperty?.$elemMatch;
147
142
  if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
148
143
  andConditions.push({
149
144
  additionalProperty: {
@@ -156,7 +151,6 @@ class EventRepo {
156
151
  switch (conditions.typeOf) {
157
152
  case factory.eventType.ScreeningEvent:
158
153
  params = conditions;
159
- // tslint:disable-next-line:no-single-line-block-comment
160
154
  /* istanbul ignore else */
161
155
  if (typeof params.name === 'string' && params.name.length > 0) {
162
156
  andConditions.push({
@@ -176,9 +170,8 @@ class EventRepo {
176
170
  ]
177
171
  });
178
172
  }
179
- // tslint:disable-next-line:no-single-line-block-comment
180
173
  /* istanbul ignore else */
181
- const superEventLocationIdEq = (_p = (_o = (_m = params.superEvent) === null || _m === void 0 ? void 0 : _m.location) === null || _o === void 0 ? void 0 : _o.id) === null || _p === void 0 ? void 0 : _p.$eq;
174
+ const superEventLocationIdEq = params.superEvent?.location?.id?.$eq;
182
175
  if (typeof superEventLocationIdEq === 'string') {
183
176
  andConditions.push({
184
177
  'superEvent.location.id': {
@@ -187,10 +180,8 @@ class EventRepo {
187
180
  }
188
181
  });
189
182
  }
190
- // tslint:disable-next-line:no-single-line-block-comment
191
183
  /* istanbul ignore else */
192
184
  if (params.superEvent !== undefined) {
193
- // tslint:disable-next-line:no-single-line-block-comment
194
185
  /* istanbul ignore else */
195
186
  if (Array.isArray(params.superEvent.ids)) {
196
187
  andConditions.push({
@@ -200,7 +191,6 @@ class EventRepo {
200
191
  }
201
192
  });
202
193
  }
203
- // tslint:disable-next-line:no-single-line-block-comment
204
194
  /* istanbul ignore else */
205
195
  if (Array.isArray(params.superEvent.locationBranchCodes)) {
206
196
  andConditions.push({
@@ -210,7 +200,6 @@ class EventRepo {
210
200
  }
211
201
  });
212
202
  }
213
- // tslint:disable-next-line:no-single-line-block-comment
214
203
  /* istanbul ignore else */
215
204
  if (Array.isArray(params.superEvent.workPerformedIdentifiers)) {
216
205
  andConditions.push({
@@ -221,7 +210,7 @@ class EventRepo {
221
210
  });
222
211
  }
223
212
  }
224
- const itemOfferedIdIn = (_s = (_r = (_q = params.offers) === null || _q === void 0 ? void 0 : _q.itemOffered) === null || _r === void 0 ? void 0 : _r.id) === null || _s === void 0 ? void 0 : _s.$in;
213
+ const itemOfferedIdIn = params.offers?.itemOffered?.id?.$in;
225
214
  if (Array.isArray(itemOfferedIdIn)) {
226
215
  andConditions.push({
227
216
  'offers.itemOffered.id': {
@@ -230,7 +219,7 @@ class EventRepo {
230
219
  }
231
220
  });
232
221
  }
233
- const itemOfferedTicketedSeatTypeOfIn = (_x = (_w = (_v = (_u = (_t = params.offers) === null || _t === void 0 ? void 0 : _t.itemOffered) === null || _u === void 0 ? void 0 : _u.serviceOutput) === null || _v === void 0 ? void 0 : _v.reservedTicket) === null || _w === void 0 ? void 0 : _w.ticketedSeat) === null || _x === void 0 ? void 0 : _x.typeOfs;
222
+ const itemOfferedTicketedSeatTypeOfIn = params.offers?.itemOffered?.serviceOutput?.reservedTicket?.ticketedSeat?.typeOfs;
234
223
  if (Array.isArray(itemOfferedTicketedSeatTypeOfIn)) {
235
224
  andConditions.push({
236
225
  'offers.itemOffered.serviceOutput.reservedTicket.ticketedSeat.typeOf': {
@@ -239,7 +228,7 @@ class EventRepo {
239
228
  }
240
229
  });
241
230
  }
242
- const itemOfferedServiceTypeIdIn = (_0 = (_z = (_y = params.offers) === null || _y === void 0 ? void 0 : _y.itemOffered) === null || _z === void 0 ? void 0 : _z.serviceType) === null || _0 === void 0 ? void 0 : _0.ids;
231
+ const itemOfferedServiceTypeIdIn = params.offers?.itemOffered?.serviceType?.ids;
243
232
  if (Array.isArray(itemOfferedServiceTypeIdIn)) {
244
233
  andConditions.push({
245
234
  'offers.itemOffered.serviceType.id': {
@@ -248,8 +237,8 @@ class EventRepo {
248
237
  }
249
238
  });
250
239
  }
251
- const sellerMakesOfferElemMatch = (_3 = (_2 = (_1 = params.offers) === null || _1 === void 0 ? void 0 : _1.seller) === null || _2 === void 0 ? void 0 : _2.makesOffer) === null || _3 === void 0 ? void 0 : _3.$elemMatch;
252
- if (typeof ((_4 = sellerMakesOfferElemMatch === null || sellerMakesOfferElemMatch === void 0 ? void 0 : sellerMakesOfferElemMatch['availableAtOrFrom.id']) === null || _4 === void 0 ? void 0 : _4.$eq) === 'string') {
240
+ const sellerMakesOfferElemMatch = params.offers?.seller?.makesOffer?.$elemMatch;
241
+ if (typeof sellerMakesOfferElemMatch?.['availableAtOrFrom.id']?.$eq === 'string') {
253
242
  andConditions.push({
254
243
  'offers.seller.makesOffer': {
255
244
  $exists: true,
@@ -264,88 +253,110 @@ class EventRepo {
264
253
  }
265
254
  return andConditions;
266
255
  }
267
- /**
268
- * 複数イベントを作成する
269
- */
270
- createManyEvents(params) {
271
- return __awaiter(this, void 0, void 0, function* () {
272
- const insertingDocs = params.attributes.map((p) => {
273
- return Object.assign({ _id: EventRepo.CREATE_ID() }, p);
274
- });
275
- try {
276
- yield this.eventModel.insertMany(insertingDocs, { rawResult: true } // rawResult(2024-08-02~)
277
- );
278
- // console.dir(insertResult, { depth: null });
279
- }
280
- catch (error) {
281
- if (yield (0, errorHandler_1.isMongoError)(error)) {
282
- if (error.code === errorHandler_1.MongoErrorCode.DuplicateKey) {
283
- throw new factory.errors.AlreadyInUse(factory.eventType.ScreeningEvent, ['offeredBy.member.identifier']);
284
- }
285
- }
286
- throw error;
287
- }
288
- if (params.expectsNoContent) {
289
- return;
290
- }
291
- return insertingDocs.map(({ _id }) => _id);
292
- });
293
- }
256
+ // /**
257
+ // * 複数イベントを作成する
258
+ // */
259
+ // public async createManyEvents(params: {
260
+ // attributes: factory.event.screeningEvent.IAttributes[];
261
+ // expectsNoContent: boolean;
262
+ // }): Promise<string[] | void> { // optimize response(only id)(2024-08-02~)
263
+ // const insertingDocs: (factory.event.screeningEvent.IAttributes & { _id: string })[] =
264
+ // params.attributes.map((p) => {
265
+ // return {
266
+ // _id: EventRepo.CREATE_ID(),
267
+ // ...p
268
+ // };
269
+ // });
270
+ // try {
271
+ // await this.eventModel.insertMany<factory.event.screeningEvent.IAttributes & { _id: string }>(
272
+ // insertingDocs,
273
+ // { rawResult: true } // rawResult(2024-08-02~)
274
+ // );
275
+ // // console.dir(insertResult, { depth: null });
276
+ // } catch (error) {
277
+ // if (await isMongoError(error)) {
278
+ // if (error.code === MongoErrorCode.DuplicateKey) {
279
+ // throw new factory.errors.AlreadyInUse(factory.eventType.ScreeningEvent, ['offeredBy.member.identifier']);
280
+ // }
281
+ // }
282
+ // throw error;
283
+ // }
284
+ // if (params.expectsNoContent) {
285
+ // return;
286
+ // }
287
+ // return insertingDocs.map(({ _id }) => _id);
288
+ // }
294
289
  /**
295
290
  * イベントコードをキーにして冪等置換
296
291
  */
297
- upsertManyScreeningEventByIdentifier(params, options) {
298
- return __awaiter(this, void 0, void 0, function* () {
299
- const { update } = options;
300
- const bulkWriteOps = [];
301
- const queryFilters = [];
302
- if (Array.isArray(params)) {
303
- params.forEach(({ $set, $unset }) => {
304
- const { project, identifier } = $set;
305
- if (typeof identifier !== 'string' || identifier.length === 0) {
306
- throw new factory.errors.ArgumentNull('identifier');
307
- }
308
- // リソースのユニークネスを保証するfilter
309
- const filter = {
310
- 'project.id': { $eq: project.id },
311
- identifier: { $exists: true, $eq: identifier }
312
- };
313
- queryFilters.push({
314
- 'project.id': { $eq: project.id },
315
- identifier: { $exists: true, $eq: identifier }
316
- });
317
- if (update === true) {
318
- const { maximumPhysicalAttendeeCapacity, additionalProperty, eventStatus, location, name, superEvent, offers, doorTime, endDate, startDate } = $set;
319
- const setFields = {
320
- maximumPhysicalAttendeeCapacity, additionalProperty,
321
- eventStatus, location, name, superEvent, offers,
322
- doorTime, endDate, startDate
323
- };
324
- const updateOne = {
325
- filter,
326
- update: Object.assign({ $set: setFields }, ($unset !== undefined) ? { $unset } : undefined),
327
- upsert: false
328
- };
329
- bulkWriteOps.push({ updateOne });
330
- }
331
- else {
332
- const { id, coaInfo, description, maximumAttendeeCapacity, remainingAttendeeCapacity, checkInCount, attendeeCount, aggregateReservation } = $set, setOnInsertFields = __rest($set, ["id", "coaInfo", "description", "maximumAttendeeCapacity", "remainingAttendeeCapacity", "checkInCount", "attendeeCount", "aggregateReservation"]);
333
- const setOnInsert = Object.assign(Object.assign({}, setOnInsertFields), { identifier, _id: EventRepo.CREATE_ID() });
334
- const updateOne = {
335
- filter,
336
- update: {
337
- $setOnInsert: setOnInsert
338
- },
339
- upsert: true
340
- };
341
- bulkWriteOps.push({ updateOne });
342
- }
292
+ async upsertManyScreeningEventByIdentifier(params, options) {
293
+ const { update } = options;
294
+ const bulkWriteOps = [];
295
+ const queryFilters = [];
296
+ if (Array.isArray(params)) {
297
+ params.forEach(({ $set, $unset }) => {
298
+ const { project, identifier } = $set;
299
+ if (typeof identifier !== 'string' || identifier.length === 0) {
300
+ throw new factory.errors.ArgumentNull('identifier');
301
+ }
302
+ // リソースのユニークネスを保証するfilter
303
+ const filter = {
304
+ 'project.id': { $eq: project.id },
305
+ identifier: { $exists: true, $eq: identifier }
306
+ };
307
+ queryFilters.push({
308
+ 'project.id': { $eq: project.id },
309
+ identifier: { $exists: true, $eq: identifier }
343
310
  });
311
+ if (update === true) {
312
+ const { maximumPhysicalAttendeeCapacity, additionalProperty, eventStatus, location, name, superEvent, offers, doorTime, endDate, startDate } = $set;
313
+ const setFields = {
314
+ maximumPhysicalAttendeeCapacity, additionalProperty,
315
+ eventStatus, location, name, superEvent, offers,
316
+ doorTime, endDate, startDate
317
+ };
318
+ const updateOne = {
319
+ filter,
320
+ update: {
321
+ $set: setFields,
322
+ ...($unset !== undefined) ? { $unset } : undefined
323
+ },
324
+ upsert: false
325
+ };
326
+ bulkWriteOps.push({ updateOne });
327
+ }
328
+ else {
329
+ const { id, coaInfo, description, maximumAttendeeCapacity, remainingAttendeeCapacity, checkInCount, attendeeCount, aggregateReservation, ...setOnInsertFields } = $set;
330
+ const setOnInsert = {
331
+ ...setOnInsertFields,
332
+ identifier,
333
+ _id: EventRepo.CREATE_ID()
334
+ };
335
+ const updateOne = {
336
+ filter,
337
+ update: {
338
+ $setOnInsert: setOnInsert
339
+ },
340
+ upsert: true
341
+ };
342
+ bulkWriteOps.push({ updateOne });
343
+ }
344
+ });
345
+ }
346
+ if (bulkWriteOps.length > 0) {
347
+ const bulkWriteResult = await this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
348
+ // update:falseの場合、upsertedIdsのみmodifiedEventsとして返せばよい(2026-01-16~)
349
+ if (!update) {
350
+ // BulkWriteResult -> upsertedIds: { '0': '7iri6p4m54k0r3g' }
351
+ return {
352
+ bulkWriteResult,
353
+ modifiedEvents: Object.values(bulkWriteResult.upsertedIds)
354
+ .map((id) => ({ id: String(id) }))
355
+ };
344
356
  }
345
- if (bulkWriteOps.length > 0) {
346
- const bulkWriteResult = yield this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
357
+ else {
347
358
  // modifiedの場合upsertedIdsに含まれないので、idを検索する
348
- const modifiedEvents = yield this.eventModel.find({ $or: queryFilters }, {
359
+ const modifiedEvents = await this.eventModel.find({ $or: queryFilters }, {
349
360
  _id: 0,
350
361
  id: { $toString: '$_id' }
351
362
  })
@@ -353,709 +364,688 @@ class EventRepo {
353
364
  .exec();
354
365
  return { bulkWriteResult, modifiedEvents };
355
366
  }
356
- });
367
+ }
368
+ return { modifiedEvents: [] };
357
369
  }
358
370
  /**
359
371
  * イベント部分更新
360
372
  */
361
- updatePartiallyById(params) {
362
- return __awaiter(this, void 0, void 0, function* () {
363
- // let doc: Document | null;
364
- const _a = params.attributes, { typeOf } = _a, updateFields = __rest(_a, ["typeOf"]);
365
- if (typeof typeOf !== 'string' || typeOf.length === 0) {
366
- throw new factory.errors.ArgumentNull('attributes.typeOf');
367
- }
368
- const doc = yield this.eventModel.findOneAndUpdate({
373
+ async updatePartiallyById(params) {
374
+ // let doc: Document | null;
375
+ const { typeOf, ...updateFields } = params.attributes;
376
+ if (typeof typeOf !== 'string' || typeOf.length === 0) {
377
+ throw new factory.errors.ArgumentNull('attributes.typeOf');
378
+ }
379
+ const doc = await this.eventModel.findOneAndUpdate({
380
+ _id: { $eq: params.id },
381
+ 'project.id': { $eq: params.project.id },
382
+ typeOf: { $eq: typeOf }
383
+ }, {
384
+ $set: updateFields
385
+ }, { upsert: false, new: false, projection: { _id: 1 } })
386
+ .lean()
387
+ .exec();
388
+ if (doc === null) {
389
+ throw new factory.errors.NotFound(this.eventModel.modelName);
390
+ }
391
+ }
392
+ /**
393
+ * 単一イベント編集
394
+ */
395
+ async updateEventById(params) {
396
+ let doc;
397
+ const { identifier, project, typeOf, organizer, aggregateReservation, maximumAttendeeCapacity, remainingAttendeeCapacity, checkInCount, attendeeCount, coaInfo, ...updateFields
398
+ // maximumPhysicalAttendeeCapacity, additionalProperty,
399
+ // eventStatus, location, name, superEvent, offers,
400
+ // doorTime, endDate, startDate
401
+ } = params.attributes;
402
+ if (typeof typeOf !== 'string' || typeOf.length === 0) {
403
+ throw new factory.errors.ArgumentNull('attributes.typeOf');
404
+ }
405
+ if (typeof params.id !== 'string' || params.id === '') {
406
+ throw new factory.errors.ArgumentNull('id');
407
+ }
408
+ try {
409
+ doc = await this.eventModel.findOneAndUpdate({
369
410
  _id: { $eq: params.id },
370
- 'project.id': { $eq: params.project.id },
371
411
  typeOf: { $eq: typeOf }
372
412
  }, {
373
- $set: updateFields
374
- }, { upsert: false, new: false, projection: { _id: 1 } })
413
+ // 編集のためのみのメソッドになったので、setOnInsertは廃止(2025-10-27~)
414
+ // 上書き禁止属性を除外(2022-08-24~)
415
+ // $setOnInsert: {
416
+ // typeOf,
417
+ // project,
418
+ // ...(typeof identifier === 'string' && identifier !== '') ? { identifier } : undefined
419
+ // },
420
+ $set: updateFields,
421
+ ...(params.$unset !== undefined) ? { $unset: params.$unset } : undefined
422
+ }, {
423
+ upsert: false,
424
+ new: true,
425
+ projection: { _id: 1 }
426
+ })
375
427
  .lean()
376
428
  .exec();
377
- if (doc === null) {
378
- throw new factory.errors.NotFound(this.eventModel.modelName);
379
- }
380
- });
381
- }
382
- /**
383
- * 単一イベント編集
384
- */
385
- updateEventById(params) {
386
- return __awaiter(this, void 0, void 0, function* () {
387
- let doc;
388
- const _a = params.attributes, { identifier, project, typeOf, organizer, aggregateReservation, maximumAttendeeCapacity, remainingAttendeeCapacity, checkInCount, attendeeCount, coaInfo } = _a, updateFields = __rest(_a, ["identifier", "project", "typeOf", "organizer", "aggregateReservation", "maximumAttendeeCapacity", "remainingAttendeeCapacity", "checkInCount", "attendeeCount", "coaInfo"])
389
- // maximumPhysicalAttendeeCapacity, additionalProperty,
390
- // eventStatus, location, name, superEvent, offers,
391
- // doorTime, endDate, startDate
392
- ;
393
- if (typeof typeOf !== 'string' || typeOf.length === 0) {
394
- throw new factory.errors.ArgumentNull('attributes.typeOf');
395
- }
396
- if (typeof params.id !== 'string' || params.id === '') {
397
- throw new factory.errors.ArgumentNull('id');
398
- }
399
- try {
400
- doc = yield this.eventModel.findOneAndUpdate({
401
- _id: { $eq: params.id },
402
- typeOf: { $eq: typeOf }
403
- }, Object.assign({
404
- // 編集のためのみのメソッドになったので、setOnInsertは廃止(2025-10-27~)
405
- // 上書き禁止属性を除外(2022-08-24~)
406
- // $setOnInsert: {
407
- // typeOf,
408
- // project,
409
- // ...(typeof identifier === 'string' && identifier !== '') ? { identifier } : undefined
410
- // },
411
- $set: updateFields }, (params.$unset !== undefined) ? { $unset: params.$unset } : undefined), {
412
- upsert: false,
413
- new: true,
414
- projection: { _id: 1 }
415
- })
416
- .lean()
417
- .exec();
418
- }
419
- catch (error) {
420
- if (yield (0, errorHandler_1.isMongoError)(error)) {
421
- if (error.code === errorHandler_1.MongoErrorCode.DuplicateKey) {
422
- throw new factory.errors.AlreadyInUse(factory.eventType.ScreeningEvent, ['offeredBy.member.identifier']);
423
- }
429
+ }
430
+ catch (error) {
431
+ if (await (0, errorHandler_1.isMongoError)(error)) {
432
+ if (error.code === errorHandler_1.MongoErrorCode.DuplicateKey) {
433
+ throw new factory.errors.AlreadyInUse(factory.eventType.ScreeningEvent, ['offeredBy.member.identifier']);
424
434
  }
425
- throw error;
426
435
  }
427
- if (doc === null) {
428
- throw new factory.errors.NotFound(this.eventModel.modelName);
429
- }
430
- });
436
+ throw error;
437
+ }
438
+ if (doc === null) {
439
+ throw new factory.errors.NotFound(this.eventModel.modelName);
440
+ }
431
441
  }
432
442
  /**
433
443
  * sskts専用
434
444
  */
435
- saveManyEvents(params) {
436
- return __awaiter(this, void 0, void 0, function* () {
437
- const bulkWriteOps = [];
438
- if (Array.isArray(params)) {
439
- params.forEach((p) => {
440
- const upsert = p.upsert === true;
441
- if (p.attributes.typeOf === factory.eventType.ScreeningEvent) {
442
- // 上書き禁止属性を除外(2022-08-24~)
443
- const _a = p.attributes, { identifier, project, typeOf, remainingAttendeeCapacity } = _a, updateFields = __rest(_a, ["identifier", "project", "typeOf", "remainingAttendeeCapacity"]);
444
- bulkWriteOps.push({
445
- updateOne: {
446
- filter: {
447
- _id: p.id,
448
- typeOf: p.attributes.typeOf
449
- },
450
- update: Object.assign({ $setOnInsert: Object.assign(Object.assign({ typeOf: p.attributes.typeOf, project: p.attributes.project }, (typeof p.attributes.identifier === 'string')
451
- ? { identifier: p.attributes.identifier } : undefined), (typeof p.attributes.remainingAttendeeCapacity === 'number')
445
+ async saveManyEvents(params) {
446
+ const bulkWriteOps = [];
447
+ if (Array.isArray(params)) {
448
+ params.forEach((p) => {
449
+ const upsert = p.upsert === true;
450
+ if (p.attributes.typeOf === factory.eventType.ScreeningEvent) {
451
+ // 上書き禁止属性を除外(2022-08-24~)
452
+ const { identifier, project, typeOf, remainingAttendeeCapacity, ...updateFields } = p.attributes;
453
+ bulkWriteOps.push({
454
+ updateOne: {
455
+ filter: {
456
+ _id: p.id,
457
+ typeOf: p.attributes.typeOf
458
+ },
459
+ update: {
460
+ $setOnInsert: {
461
+ typeOf: p.attributes.typeOf,
462
+ project: p.attributes.project,
463
+ ...(typeof p.attributes.identifier === 'string')
464
+ ? { identifier: p.attributes.identifier } : undefined,
465
+ ...(typeof p.attributes.remainingAttendeeCapacity === 'number')
452
466
  ? { remainingAttendeeCapacity: p.attributes.remainingAttendeeCapacity }
453
- : undefined), $set: updateFields }, (p.$unset !== undefined) ? { $unset: p.$unset } : undefined),
454
- upsert
455
- }
456
- });
457
- }
458
- else if (p.attributes.typeOf === factory.eventType.ScreeningEventSeries) {
459
- throw new factory.errors.Internal('typeOf: ScreeningEventSeries discontinued');
460
- }
461
- });
462
- }
463
- if (bulkWriteOps.length > 0) {
464
- yield this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
465
- }
466
- });
467
- }
468
- /**
469
- * tttsイベントを識別子によって冪等作成する
470
- */
471
- saveEventByIdentifier4ttts(params) {
472
- return __awaiter(this, void 0, void 0, function* () {
473
- // const { oldEventId } = params;
474
- const _a = params.attributes, { project, typeOf, eventStatus, identifier, organizer } = _a, updateFields = __rest(_a, ["project", "typeOf", "eventStatus", "identifier", "organizer"]);
475
- // const identifier = oldEventId;
476
- if (typeof identifier !== 'string' || identifier.length === 0) {
477
- throw new factory.errors.ArgumentNull('identifier');
478
- }
479
- const id = EventRepo.CREATE_ID();
480
- const doc = yield this.eventModel.findOneAndUpdate(
481
- // 全イベントにidentifierを保証したので、additionalPropertyによるフィルターからidentifierによるフィルターへ変更(2025-09-05~)
482
- // {
483
- // 'project.id': { $eq: project.id },
484
- // typeOf: { $eq: typeOf },
485
- // // 追加特性をキーに更新
486
- // additionalProperty: {
487
- // $exists: true,
488
- // $all: [{ name: 'oldEventId', value: identifier }]
489
- // }
490
- // },
491
- {
492
- 'project.id': { $eq: project.id },
493
- identifier: { $exists: true, $eq: identifier }
494
- },
495
- // upsertの場合、createがありうるので属性を除外しない
496
- {
497
- $setOnInsert: {
498
- _id: id,
499
- typeOf,
500
- project,
501
- eventStatus,
502
- organizer,
503
- identifier // イベントコードを必ず追加(2025-09-03~)
504
- // ...(typeof identifier === 'string' && identifier !== '') ? { identifier } : undefined
505
- },
506
- $set: updateFields
507
- }, { upsert: true, new: true, projection: { _id: 1 } })
508
- .lean()
509
- .exec();
510
- if (doc === null) {
511
- throw new factory.errors.NotFound(this.eventModel.modelName);
512
- }
513
- return { id: doc._id }; // optimize(2024-07-31~)
514
- });
467
+ : undefined
468
+ },
469
+ $set: updateFields,
470
+ // $unsetに対応(2022-08-31~)
471
+ ...(p.$unset !== undefined) ? { $unset: p.$unset } : undefined
472
+ },
473
+ upsert
474
+ }
475
+ });
476
+ }
477
+ else if (p.attributes.typeOf === factory.eventType.ScreeningEventSeries) {
478
+ throw new factory.errors.Internal('typeOf: ScreeningEventSeries discontinued');
479
+ }
480
+ });
481
+ }
482
+ if (bulkWriteOps.length > 0) {
483
+ await this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
484
+ }
515
485
  }
486
+ // /**
487
+ // * tttsイベントを識別子によって冪等作成する
488
+ // */
489
+ // public async saveEventByIdentifier4ttts(params: {
490
+ // // oldEventId: string;
491
+ // attributes: ICreatingEvent4ttts;
492
+ // }): Promise<{ id: string }> {
493
+ // // const { oldEventId } = params;
494
+ // const { project, typeOf, eventStatus, identifier, organizer, ...updateFields } = params.attributes;
495
+ // // const identifier = oldEventId;
496
+ // if (typeof identifier !== 'string' || identifier.length === 0) {
497
+ // throw new factory.errors.ArgumentNull('identifier');
498
+ // }
499
+ // const id = EventRepo.CREATE_ID();
500
+ // const doc = await this.eventModel.findOneAndUpdate(
501
+ // {
502
+ // 'project.id': { $eq: project.id },
503
+ // identifier: { $exists: true, $eq: identifier }
504
+ // },
505
+ // // upsertの場合、createがありうるので属性を除外しない
506
+ // {
507
+ // $setOnInsert: {
508
+ // _id: id,
509
+ // typeOf,
510
+ // project,
511
+ // eventStatus,
512
+ // organizer,
513
+ // identifier // イベントコードを必ず追加(2025-09-03~)
514
+ // // ...(typeof identifier === 'string' && identifier !== '') ? { identifier } : undefined
515
+ // },
516
+ // $set: updateFields
517
+ // },
518
+ // { upsert: true, new: true, projection: { _id: 1 } }
519
+ // )
520
+ // .lean<{ _id: string }>()
521
+ // .exec();
522
+ // if (doc === null) {
523
+ // throw new factory.errors.NotFound(this.eventModel.modelName);
524
+ // }
525
+ // return { id: doc._id }; // optimize(2024-07-31~)
526
+ // }
516
527
  /**
517
528
  * イベントを検索する(inclusion projection)
518
529
  */
519
- projectEventFields(params, inclusion) {
520
- return __awaiter(this, void 0, void 0, function* () {
521
- var _a;
522
- const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
523
- let projection;
524
- const positiveProjectionFields = (Array.isArray(inclusion))
525
- ? inclusion.filter((key) => String(key) !== 'id' && String(key) !== '_id')
526
- : [];
527
- if (Array.isArray(inclusion) && inclusion.length > 0) {
528
- projection = Object.assign(Object.assign({}, Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))), { _id: 0, id: { $toString: '$_id' } });
529
- }
530
- else {
531
- // discontinue(2024-07-24~)
532
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
533
- }
534
- const query = this.eventModel.find({ $and: conditions }, projection);
535
- if (typeof params.limit === 'number' && params.limit > 0) {
536
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
537
- query.limit(params.limit)
538
- .skip(params.limit * (page - 1));
539
- }
540
- // tslint:disable-next-line:no-single-line-block-comment
541
- /* istanbul ignore else */
542
- if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.startDate) !== undefined) {
543
- query.sort({ startDate: params.sort.startDate });
544
- }
545
- // const explainResult = await query.explain()
546
- // .exec();
547
- // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
548
- // console.log(explainResult[0].executionStats.allPlansExecution);
549
- // console.log(explainResult[0].queryPlanner?.winningPlan);
550
- // console.log(explainResult[0].queryPlanner?.winningPlan?.inputStage?.inputStage?.inputStage);
551
- // console.log(explainResult);
552
- // return [];
553
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
554
- .lean() // lean(2024-08-01~)
555
- .exec();
556
- });
530
+ async projectEventFields(params, inclusion) {
531
+ const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
532
+ let projection;
533
+ const positiveProjectionFields = (Array.isArray(inclusion))
534
+ ? inclusion.filter((key) => String(key) !== 'id' && String(key) !== '_id')
535
+ : [];
536
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
537
+ projection = {
538
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1]))),
539
+ _id: 0, // hide _id(2024-08-01~)
540
+ id: { $toString: '$_id' }
541
+ };
542
+ }
543
+ else {
544
+ // discontinue(2024-07-24~)
545
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
546
+ }
547
+ const query = this.eventModel.find({ $and: conditions }, projection);
548
+ if (typeof params.limit === 'number' && params.limit > 0) {
549
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
550
+ query.limit(params.limit)
551
+ .skip(params.limit * (page - 1));
552
+ }
553
+ /* istanbul ignore else */
554
+ if (params.sort?.startDate !== undefined) {
555
+ query.sort({ startDate: params.sort.startDate });
556
+ }
557
+ // const explainResult = await query.explain()
558
+ // .exec();
559
+ // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
560
+ // console.log(explainResult[0].executionStats.allPlansExecution);
561
+ // console.log(explainResult[0].queryPlanner?.winningPlan);
562
+ // console.log(explainResult[0].queryPlanner?.winningPlan?.inputStage?.inputStage?.inputStage);
563
+ // console.log(explainResult);
564
+ // return [];
565
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
566
+ .lean() // lean(2024-08-01~)
567
+ .exec();
557
568
  }
558
- findByAdditionalProperty(params) {
559
- return __awaiter(this, void 0, void 0, function* () {
560
- const query = this.eventModel.find({
561
- 'project.id': { $eq: params.project.id },
562
- additionalProperty: { $eq: params.additionalProperty }
563
- }, { _id: 1 });
564
- // if (typeof params.limit === 'number' && params.limit > 0) {
565
- // const page: number = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
566
- // query.limit(params.limit)
567
- // .skip(params.limit * (page - 1));
568
- // }
569
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
570
- .lean()
571
- .exec();
572
- });
569
+ async findByAdditionalProperty(params) {
570
+ const query = this.eventModel.find({
571
+ 'project.id': { $eq: params.project.id },
572
+ additionalProperty: { $eq: params.additionalProperty }
573
+ }, { _id: 1 });
574
+ // if (typeof params.limit === 'number' && params.limit > 0) {
575
+ // const page: number = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
576
+ // query.limit(params.limit)
577
+ // .skip(params.limit * (page - 1));
578
+ // }
579
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
580
+ .lean()
581
+ .exec();
573
582
  }
574
583
  /**
575
584
  * apiで公開属性を検索する(2024-10-13~)
576
585
  */
577
- aggregatePublicFields(params, inclusion, options) {
578
- return __awaiter(this, void 0, void 0, function* () {
579
- var _a, _b;
580
- const { includeOffers, includeSellerMakesOffer, sellerMakesOfferAvailableAtIn } = options;
581
- const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
582
- let projection;
583
- let positiveProjectionFields;
584
- if (Array.isArray(inclusion) && inclusion.length > 0) {
585
- positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PUBLIC_PROJECT_FIELDS.includes(key));
586
- projection = Object.assign({ _id: 0, id: { $toString: '$_id' } }, Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1]))));
587
- if (includeOffers) {
588
- projection = Object.assign(Object.assign(Object.assign({}, projection), { 'offers.typeOf': 1, 'offers.eligibleQuantity': 1, 'offers.itemOffered': 1, 'offers.identifier': 1, 'offers.offeredThrough': 1, 'offers.unacceptedPaymentMethod': 1, 'offers.seller.typeOf': 1, 'offers.seller.id': 1, 'offers.seller.name': 1 }), (includeSellerMakesOffer)
589
- ? Object.assign({}, (Array.isArray(sellerMakesOfferAvailableAtIn))
590
- ? {
591
- 'offers.seller.makesOffer': {
592
- $filter: {
593
- input: '$offers.seller.makesOffer',
594
- as: 'sellerMakesOffer',
595
- cond: { $in: ['$$sellerMakesOffer.availableAtOrFrom.id', sellerMakesOfferAvailableAtIn] }
586
+ async aggregatePublicFields(params, inclusion, options) {
587
+ const { includeOffers, includeSellerMakesOffer, sellerMakesOfferAvailableAtIn } = options;
588
+ const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
589
+ let projection;
590
+ let positiveProjectionFields;
591
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
592
+ positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PUBLIC_PROJECT_FIELDS.includes(key));
593
+ projection = {
594
+ _id: 0,
595
+ id: { $toString: '$_id' },
596
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
597
+ };
598
+ if (includeOffers) {
599
+ projection = {
600
+ ...projection,
601
+ 'offers.typeOf': 1,
602
+ 'offers.eligibleQuantity': 1,
603
+ 'offers.itemOffered': 1,
604
+ 'offers.identifier': 1, // support オファーコレクションコード(2025-09-29~)
605
+ 'offers.offeredThrough': 1,
606
+ 'offers.unacceptedPaymentMethod': 1,
607
+ 'offers.seller.typeOf': 1,
608
+ 'offers.seller.id': 1,
609
+ 'offers.seller.name': 1,
610
+ ...(includeSellerMakesOffer)
611
+ ? {
612
+ ...(Array.isArray(sellerMakesOfferAvailableAtIn))
613
+ ? {
614
+ 'offers.seller.makesOffer': {
615
+ $filter: {
616
+ input: '$offers.seller.makesOffer',
617
+ as: 'sellerMakesOffer',
618
+ cond: { $in: ['$$sellerMakesOffer.availableAtOrFrom.id', sellerMakesOfferAvailableAtIn] }
619
+ }
596
620
  }
597
621
  }
598
- }
599
- : { 'offers.seller.makesOffer': 1 }) : undefined);
600
- }
601
- }
602
- else {
603
- // discontinue(2024-07-24~)
604
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
605
- }
606
- const aggregate = this.eventModel.aggregate([
607
- { $match: { $and: conditions } },
608
- ...(((_a = params.sort) === null || _a === void 0 ? void 0 : _a.startDate) !== undefined)
609
- ? [{ $sort: { startDate: params.sort.startDate } }]
610
- : [],
611
- { $project: projection }
612
- ]);
613
- if (typeof params.limit === 'number' && params.limit > 0) {
614
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
615
- aggregate.limit(params.limit * page)
616
- .skip(params.limit * (page - 1));
617
- }
618
- // tslint:disable-next-line:no-single-line-block-comment
619
- /* istanbul ignore else */
620
- if (((_b = params.sort) === null || _b === void 0 ? void 0 : _b.startDate) !== undefined) {
621
- aggregate.sort({ startDate: params.sort.startDate });
622
+ : { 'offers.seller.makesOffer': 1 }
623
+ }
624
+ : undefined
625
+ };
622
626
  }
623
- return aggregate
624
- .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
625
- .exec();
626
- });
627
+ }
628
+ else {
629
+ // discontinue(2024-07-24~)
630
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
631
+ }
632
+ const aggregate = this.eventModel.aggregate([
633
+ { $match: { $and: conditions } },
634
+ ...(params.sort?.startDate !== undefined)
635
+ ? [{ $sort: { startDate: params.sort.startDate } }]
636
+ : [],
637
+ { $project: projection }
638
+ ]);
639
+ if (typeof params.limit === 'number' && params.limit > 0) {
640
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
641
+ aggregate.limit(params.limit * page)
642
+ .skip(params.limit * (page - 1));
643
+ }
644
+ /* istanbul ignore else */
645
+ if (params.sort?.startDate !== undefined) {
646
+ aggregate.sort({ startDate: params.sort.startDate });
647
+ }
648
+ return aggregate
649
+ .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
650
+ .exec();
627
651
  }
628
652
  /**
629
653
  * IDのみで検索する
630
654
  * projectionなし
631
655
  */
632
- findAnyEventById(params) {
633
- return __awaiter(this, void 0, void 0, function* () {
634
- var _a;
635
- const doc = yield this.eventModel.findOne(Object.assign({ _id: { $eq: params.id.$eq }, 'project.id': { $eq: params.project.id.$eq }, typeOf: { $in: [factory.eventType.ScreeningEvent] } }, (typeof ((_a = params.organizer) === null || _a === void 0 ? void 0 : _a.id.$eq) === 'string')
656
+ async findAnyEventById(params) {
657
+ const doc = await this.eventModel.findOne({
658
+ _id: { $eq: params.id.$eq },
659
+ 'project.id': { $eq: params.project.id.$eq },
660
+ typeOf: { $in: [factory.eventType.ScreeningEvent] },
661
+ ...(typeof params.organizer?.id.$eq === 'string')
636
662
  ? { 'organizer.id': { $exists: true, $eq: params.organizer.id.$eq } }
637
- : undefined), {
638
- __v: 0,
639
- createdAt: 0,
640
- updatedAt: 0,
641
- // DefaultでaggregateEntranceGateを取得しない(2023-01-25~)
642
- aggregateEntranceGate: 0,
643
- // DefaultでaggregateOfferを取得しない(2023-01-24~)
644
- aggregateOffer: 0
645
- })
646
- .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
647
- .exec();
648
- if (doc === null) {
649
- throw new factory.errors.NotFound('Event');
650
- }
651
- return doc.toObject();
652
- });
663
+ : undefined
664
+ }, {
665
+ __v: 0,
666
+ createdAt: 0,
667
+ updatedAt: 0,
668
+ // DefaultでaggregateEntranceGateを取得しない(2023-01-25~)
669
+ aggregateEntranceGate: 0,
670
+ // DefaultでaggregateOfferを取得しない(2023-01-24~)
671
+ aggregateOffer: 0
672
+ })
673
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
674
+ .exec();
675
+ if (doc === null) {
676
+ throw new factory.errors.NotFound('Event');
677
+ }
678
+ return doc.toObject();
653
679
  }
654
- searchEventIds(params) {
655
- return __awaiter(this, void 0, void 0, function* () {
656
- const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
657
- const query = this.eventModel.distinct('_id', { $and: conditions });
658
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
659
- .exec();
660
- });
680
+ async searchEventIds(params) {
681
+ const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
682
+ const query = this.eventModel.distinct('_id', { $and: conditions });
683
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
684
+ .exec();
661
685
  }
662
686
  /**
663
687
  * 特定イベントから指定フィールドのみ取得する
664
688
  * イベント IDは必ず返ります
665
689
  */
666
- projectEventFieldsById(params, inclusion // add projection(2024-07-18~)
690
+ async projectEventFieldsById(params, inclusion // add projection(2024-07-18~)
667
691
  ) {
668
- return __awaiter(this, void 0, void 0, function* () {
669
- const projection = {
670
- _id: 0,
671
- id: { $toString: '$_id' }
672
- };
673
- if (Array.isArray(inclusion) && inclusion.length > 0) {
674
- inclusion.forEach((field) => {
675
- if (String(field) !== '_id' && String(field) !== 'id') {
676
- projection[field] = 1;
677
- }
678
- });
679
- }
680
- else {
681
- // discontinue(2024-07-24~)
682
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
683
- // projection = PROJECTION_MINIMIZED_EVENT;
684
- }
685
- const doc = yield this.eventModel.findOne({ _id: { $eq: params.id } }, projection)
686
- .lean() // lean(2024-07-24~)
687
- .exec();
688
- if (doc === null) {
689
- throw new factory.errors.NotFound(this.eventModel.modelName);
690
- }
691
- return doc;
692
- });
692
+ const projection = {
693
+ _id: 0,
694
+ id: { $toString: '$_id' }
695
+ };
696
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
697
+ inclusion.forEach((field) => {
698
+ if (String(field) !== '_id' && String(field) !== 'id') {
699
+ projection[field] = 1;
700
+ }
701
+ });
702
+ }
703
+ else {
704
+ // discontinue(2024-07-24~)
705
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
706
+ // projection = PROJECTION_MINIMIZED_EVENT;
707
+ }
708
+ const doc = await this.eventModel.findOne({ _id: { $eq: params.id } }, projection)
709
+ .lean() // lean(2024-07-24~)
710
+ .exec();
711
+ if (doc === null) {
712
+ throw new factory.errors.NotFound(this.eventModel.modelName);
713
+ }
714
+ return doc;
693
715
  }
694
716
  /**
695
717
  * イベントをキャンセルする
696
718
  */
697
- cancelEvent(params) {
698
- return __awaiter(this, void 0, void 0, function* () {
699
- return this.eventModel.updateOne({
700
- _id: { $eq: params.id },
701
- 'project.id': { $eq: params.project.id }
702
- }, { $set: { eventStatus: factory.eventStatusType.EventCancelled } }, { includeResultMetadata: true })
703
- .exec();
704
- });
719
+ async cancelEvent(params) {
720
+ return this.eventModel.updateOne({
721
+ _id: { $eq: params.id },
722
+ 'project.id': { $eq: params.project.id }
723
+ }, { $set: { eventStatus: factory.eventStatusType.EventCancelled } }, { includeResultMetadata: true })
724
+ .exec();
705
725
  }
706
726
  /**
707
727
  * 興行イベントのsuperEventを最新の情報に同期する
708
728
  */
709
- syncScreeningEventSeries2screeningEvents(params) {
710
- return __awaiter(this, void 0, void 0, function* () {
711
- const superEvent = EventFactory.minimizeSuperEvent({ superEventFromDB: params.superEventFromDB });
712
- yield this.eventModel.updateMany({
713
- typeOf: { $eq: factory.eventType.ScreeningEvent },
714
- 'project.id': { $eq: params.project.id },
715
- 'superEvent.id': { $exists: true, $eq: params.superEventFromDB.id },
716
- startDate: { $gte: params.startDate.$gte }
717
- }, {
718
- $set: {
719
- superEvent
720
- }
721
- })
722
- .exec();
723
- });
729
+ async syncScreeningEventSeries2screeningEvents(params) {
730
+ const superEvent = EventFactory.minimizeSuperEvent({ superEventFromDB: params.superEventFromDB });
731
+ await this.eventModel.updateMany({
732
+ typeOf: { $eq: factory.eventType.ScreeningEvent },
733
+ 'project.id': { $eq: params.project.id },
734
+ 'superEvent.id': { $exists: true, $eq: params.superEventFromDB.id },
735
+ startDate: { $gte: params.startDate.$gte }
736
+ }, {
737
+ $set: {
738
+ superEvent
739
+ }
740
+ })
741
+ .exec();
724
742
  }
725
- deleteEventById(params) {
726
- return __awaiter(this, void 0, void 0, function* () {
727
- yield this.eventModel.findOneAndDelete({
728
- _id: params.id,
729
- 'project.id': { $eq: params.project.id }
730
- })
731
- .exec();
732
- });
743
+ async deleteEventById(params) {
744
+ await this.eventModel.findOneAndDelete({
745
+ _id: params.id,
746
+ 'project.id': { $eq: params.project.id }
747
+ })
748
+ .exec();
733
749
  }
734
- deleteManyEventByOrganizerId(params) {
735
- return __awaiter(this, void 0, void 0, function* () {
736
- return this.eventModel.deleteMany({
737
- 'project.id': { $eq: params.project.id },
738
- 'organizer.id': { $exists: true, $eq: params.organizer.id }
739
- })
740
- .exec();
741
- });
750
+ async deleteManyEventByOrganizerId(params) {
751
+ return this.eventModel.deleteMany({
752
+ 'project.id': { $eq: params.project.id },
753
+ 'organizer.id': { $exists: true, $eq: params.organizer.id }
754
+ })
755
+ .exec();
742
756
  }
743
- deleteManyEventsByScreeningRoom(params) {
744
- return __awaiter(this, void 0, void 0, function* () {
745
- return this.eventModel.deleteMany({
746
- 'project.id': { $eq: params.project.id },
747
- 'location.branchCode': { $exists: true, $eq: params.location.branchCode },
748
- 'superEvent.location.id': { $exists: true, $eq: params.location.containedInPlace.id }
749
- })
750
- .exec();
751
- });
757
+ async deleteManyEventsByScreeningRoom(params) {
758
+ return this.eventModel.deleteMany({
759
+ 'project.id': { $eq: params.project.id },
760
+ 'location.branchCode': { $exists: true, $eq: params.location.branchCode },
761
+ 'superEvent.location.id': { $exists: true, $eq: params.location.containedInPlace.id }
762
+ })
763
+ .exec();
752
764
  }
753
- deleteManyBySuperEventId(params) {
754
- return __awaiter(this, void 0, void 0, function* () {
755
- return this.eventModel.deleteMany({
756
- 'project.id': { $eq: params.project.id },
757
- 'superEvent.id': { $exists: true, $eq: params.superEvent.id }
758
- })
759
- .exec();
760
- });
765
+ async deleteManyBySuperEventId(params) {
766
+ return this.eventModel.deleteMany({
767
+ 'project.id': { $eq: params.project.id },
768
+ 'superEvent.id': { $exists: true, $eq: params.superEvent.id }
769
+ })
770
+ .exec();
761
771
  }
762
- deleteManyBySuperEventLocationId(params) {
763
- return __awaiter(this, void 0, void 0, function* () {
764
- return this.eventModel.deleteMany({
765
- 'project.id': { $eq: params.project.id },
766
- 'superEvent.location.id': { $exists: true, $eq: params.superEvent.location.id }
767
- })
768
- .exec();
769
- });
772
+ async deleteManyBySuperEventLocationId(params) {
773
+ return this.eventModel.deleteMany({
774
+ 'project.id': { $eq: params.project.id },
775
+ 'superEvent.location.id': { $exists: true, $eq: params.superEvent.location.id }
776
+ })
777
+ .exec();
770
778
  }
771
779
  /**
772
780
  * 興行(プロダクト)から削除する
773
781
  */
774
- deleteManyEventsByItemOfferedId(params) {
775
- return __awaiter(this, void 0, void 0, function* () {
776
- return this.eventModel.deleteMany({
777
- 'project.id': { $eq: params.project.id },
778
- 'offers.itemOffered.id': { $exists: true, $in: params.offers.itemOffered.id.$in }
779
- })
780
- .exec();
781
- });
782
+ async deleteManyEventsByItemOfferedId(params) {
783
+ return this.eventModel.deleteMany({
784
+ 'project.id': { $eq: params.project.id },
785
+ 'offers.itemOffered.id': { $exists: true, $in: params.offers.itemOffered.id.$in }
786
+ })
787
+ .exec();
782
788
  }
783
- deleteManyEventsEndedByProject(params) {
784
- return __awaiter(this, void 0, void 0, function* () {
785
- return this.eventModel.deleteMany({
786
- typeOf: { $in: params.typeOf.$in },
787
- 'project.id': { $eq: params.project.id },
788
- endDate: { $lte: params.endDate.$lte }
789
- })
790
- .exec();
791
- });
789
+ async deleteManyEventsEndedByProject(params) {
790
+ return this.eventModel.deleteMany({
791
+ typeOf: { $in: params.typeOf.$in },
792
+ 'project.id': { $eq: params.project.id },
793
+ endDate: { $lte: params.endDate.$lte }
794
+ })
795
+ .exec();
792
796
  }
793
- deleteManyEventsEnded(params) {
794
- return __awaiter(this, void 0, void 0, function* () {
795
- return this.eventModel.deleteMany({
796
- typeOf: { $eq: params.typeOf.$eq },
797
- endDate: { $lte: params.endDate.$lte }
798
- })
799
- .exec();
800
- });
797
+ async deleteManyEventsEnded(params) {
798
+ return this.eventModel.deleteMany({
799
+ typeOf: { $eq: params.typeOf.$eq },
800
+ endDate: { $lte: params.endDate.$lte }
801
+ })
802
+ .exec();
801
803
  }
802
- deleteByProject(params) {
803
- return __awaiter(this, void 0, void 0, function* () {
804
- yield this.eventModel.deleteMany({
805
- 'project.id': { $eq: params.project.id }
806
- })
807
- .exec();
808
- });
804
+ async deleteByProject(params) {
805
+ await this.eventModel.deleteMany({
806
+ 'project.id': { $eq: params.project.id }
807
+ })
808
+ .exec();
809
809
  }
810
810
  /**
811
811
  * 集計属性を更新する
812
812
  */
813
- updateAggregationById(params, update) {
814
- return __awaiter(this, void 0, void 0, function* () {
815
- const doc = yield this.eventModel.findOneAndUpdate({ _id: { $eq: params.id } }, update, {
816
- new: false,
817
- projection: { _id: 1 }
818
- })
819
- .lean()
820
- .exec();
821
- if (doc === null) {
822
- throw new factory.errors.NotFound(this.eventModel.modelName);
823
- }
824
- });
813
+ async updateAggregationById(params, update) {
814
+ const doc = await this.eventModel.findOneAndUpdate({ _id: { $eq: params.id } }, update, {
815
+ new: false,
816
+ projection: { _id: 1 }
817
+ })
818
+ .lean()
819
+ .exec();
820
+ if (doc === null) {
821
+ throw new factory.errors.NotFound(this.eventModel.modelName);
822
+ }
825
823
  }
826
- bulkWrite(bulkWriteOps) {
827
- return __awaiter(this, void 0, void 0, function* () {
828
- return this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
829
- });
824
+ async bulkWrite(bulkWriteOps) {
825
+ return this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
830
826
  }
831
827
  getCursor(conditions, projection) {
832
828
  return this.eventModel.find(conditions, projection)
833
829
  .sort({ startDate: factory.sortType.Descending })
834
830
  .cursor();
835
831
  }
836
- addAvailableAtOrFrom(params) {
837
- return __awaiter(this, void 0, void 0, function* () {
838
- yield this.eventModel.updateOne({ _id: { $eq: params.id } }, {
839
- $push: {
840
- 'offers.seller.makesOffer': params.offers.seller.makesOffer
841
- }
842
- }, { includeResultMetadata: true })
843
- .exec();
844
- });
832
+ async addAvailableAtOrFrom(params) {
833
+ await this.eventModel.updateOne({ _id: { $eq: params.id } }, {
834
+ $push: {
835
+ 'offers.seller.makesOffer': params.offers.seller.makesOffer
836
+ }
837
+ }, { includeResultMetadata: true })
838
+ .exec();
845
839
  }
846
- unsetUnnecessaryFields(params) {
847
- return __awaiter(this, void 0, void 0, function* () {
848
- return this.eventModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
849
- .exec();
850
- });
840
+ async unsetUnnecessaryFields(params) {
841
+ return this.eventModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
842
+ .exec();
851
843
  }
852
- aggregateEvent(params) {
853
- return __awaiter(this, void 0, void 0, function* () {
854
- const statuses = yield Promise.all([
855
- factory.eventStatusType.EventScheduled,
856
- factory.eventStatusType.EventCancelled,
857
- factory.eventStatusType.EventPostponed
858
- ].map((eventStatus) => __awaiter(this, void 0, void 0, function* () {
859
- var _a, _b;
860
- const matchConditions = Object.assign({ startDate: {
861
- $gte: params.startFrom,
862
- $lte: params.startThrough
863
- }, typeOf: { $eq: params.typeOf }, eventStatus: { $eq: eventStatus } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
844
+ async aggregateEvent(params) {
845
+ const statuses = await Promise.all([
846
+ factory.eventStatusType.EventScheduled,
847
+ factory.eventStatusType.EventCancelled,
848
+ factory.eventStatusType.EventPostponed
849
+ ].map(async (eventStatus) => {
850
+ const matchConditions = {
851
+ startDate: {
852
+ $gte: params.startFrom,
853
+ $lte: params.startThrough
854
+ },
855
+ typeOf: { $eq: params.typeOf },
856
+ eventStatus: { $eq: eventStatus },
857
+ ...(typeof params.project?.id?.$ne === 'string')
864
858
  ? { 'project.id': { $ne: params.project.id.$ne } }
865
- : undefined);
866
- return this.agggregateByStatus({ matchConditions, status: eventStatus });
867
- })));
868
- return { statuses };
869
- });
859
+ : undefined
860
+ };
861
+ return this.agggregateByStatus({ matchConditions, status: eventStatus });
862
+ }));
863
+ return { statuses };
870
864
  }
871
- // tslint:disable-next-line:max-func-body-length
872
- agggregateByStatus(params) {
873
- return __awaiter(this, void 0, void 0, function* () {
874
- const matchConditions = params.matchConditions;
875
- const eventStatus = params.status;
876
- const aggregations = yield this.eventModel.aggregate([
877
- {
878
- $match: matchConditions
879
- },
880
- {
881
- $project: {
882
- remainingCapacityRate: {
883
- $cond: {
884
- if: {
885
- $and: [
886
- { $isNumber: '$maximumAttendeeCapacity' },
887
- { $isNumber: '$remainingAttendeeCapacity' }
888
- ]
889
- },
890
- then: {
891
- $cond: {
892
- if: { $gt: ['$maximumAttendeeCapacity', 0] },
893
- then: {
894
- $multiply: [
895
- { $divide: ['$remainingAttendeeCapacity', '$maximumAttendeeCapacity'] },
896
- // tslint:disable-next-line:no-magic-numbers
897
- 100
898
- ]
899
- },
900
- else: 0
901
- }
902
- },
903
- else: 0
904
- }
905
- },
906
- eventStatus: '$eventStatus',
907
- startDate: '$startDate',
908
- endDate: '$endDate',
909
- typeOf: '$typeOf',
910
- maximumAttendeeCapacity: {
911
- $cond: {
912
- if: { $isNumber: '$maximumAttendeeCapacity' },
913
- then: '$maximumAttendeeCapacity',
914
- else: 0
915
- }
916
- },
917
- remainingAttendeeCapacity: {
918
- $cond: {
919
- if: { $isNumber: '$remainingAttendeeCapacity' },
920
- then: '$remainingAttendeeCapacity',
921
- else: 0
922
- }
923
- },
924
- reservationCount: {
925
- $cond: {
926
- if: { $isNumber: '$aggregateReservation.reservationCount' },
927
- then: '$aggregateReservation.reservationCount',
928
- else: 0
929
- }
930
- },
931
- offerCount: {
932
- $cond: {
933
- if: { $isNumber: '$aggregateOffer.offerCount' },
934
- then: '$aggregateOffer.offerCount',
935
- else: 0
936
- }
865
+ async agggregateByStatus(params) {
866
+ const matchConditions = params.matchConditions;
867
+ const eventStatus = params.status;
868
+ const aggregations = await this.eventModel.aggregate([
869
+ {
870
+ $match: matchConditions
871
+ },
872
+ {
873
+ $project: {
874
+ remainingCapacityRate: {
875
+ $cond: {
876
+ if: {
877
+ $and: [
878
+ { $isNumber: '$maximumAttendeeCapacity' },
879
+ { $isNumber: '$remainingAttendeeCapacity' }
880
+ ]
881
+ },
882
+ then: {
883
+ $cond: {
884
+ if: { $gt: ['$maximumAttendeeCapacity', 0] },
885
+ then: {
886
+ $multiply: [
887
+ { $divide: ['$remainingAttendeeCapacity', '$maximumAttendeeCapacity'] },
888
+ 100
889
+ ]
890
+ },
891
+ else: 0
892
+ }
893
+ },
894
+ else: 0
895
+ }
896
+ },
897
+ eventStatus: '$eventStatus',
898
+ startDate: '$startDate',
899
+ endDate: '$endDate',
900
+ typeOf: '$typeOf',
901
+ maximumAttendeeCapacity: {
902
+ $cond: {
903
+ if: { $isNumber: '$maximumAttendeeCapacity' },
904
+ then: '$maximumAttendeeCapacity',
905
+ else: 0
906
+ }
907
+ },
908
+ remainingAttendeeCapacity: {
909
+ $cond: {
910
+ if: { $isNumber: '$remainingAttendeeCapacity' },
911
+ then: '$remainingAttendeeCapacity',
912
+ else: 0
913
+ }
914
+ },
915
+ reservationCount: {
916
+ $cond: {
917
+ if: { $isNumber: '$aggregateReservation.reservationCount' },
918
+ then: '$aggregateReservation.reservationCount',
919
+ else: 0
920
+ }
921
+ },
922
+ offerCount: {
923
+ $cond: {
924
+ if: { $isNumber: '$aggregateOffer.offerCount' },
925
+ then: '$aggregateOffer.offerCount',
926
+ else: 0
937
927
  }
938
- }
939
- },
940
- {
941
- $group: {
942
- _id: '$typeOf',
943
- eventCount: { $sum: 1 },
944
- reservationCount: { $sum: '$reservationCount' },
945
- avgOfferCount: { $avg: '$offerCount' },
946
- maximumAttendeeCapacity: { $sum: '$maximumAttendeeCapacity' },
947
- remainingAttendeeCapacity: { $sum: '$remainingAttendeeCapacity' },
948
- avgRemainingCapacityRate: { $avg: '$remainingCapacityRate' },
949
- maxRemainingCapacityRate: { $max: '$remainingCapacityRate' },
950
- minRemainingCapacityRate: { $min: '$remainingCapacityRate' }
951
- }
952
- },
953
- {
954
- $project: {
955
- _id: 0,
956
- eventCount: '$eventCount',
957
- reservationCount: '$reservationCount',
958
- avgOfferCount: '$avgOfferCount',
959
- maximumAttendeeCapacity: '$maximumAttendeeCapacity',
960
- remainingAttendeeCapacity: '$remainingAttendeeCapacity',
961
- avgRemainingCapacityRate: '$avgRemainingCapacityRate',
962
- maxRemainingCapacityRate: '$maxRemainingCapacityRate',
963
- minRemainingCapacityRate: '$minRemainingCapacityRate'
964
928
  }
965
929
  }
966
- ])
967
- .exec();
968
- // tslint:disable-next-line:no-magic-numbers
969
- const percents = [50, 95, 99];
970
- if (aggregations.length === 0) {
971
- return {
972
- status: eventStatus,
973
- aggregation: {
974
- eventCount: 0,
975
- reservationCount: 0,
976
- avgOfferCount: 0,
977
- maximumAttendeeCapacity: 0,
978
- remainingAttendeeCapacity: 0,
979
- avgRemainingCapacityRate: 0,
980
- maxRemainingCapacityRate: 0,
981
- minRemainingCapacityRate: 0,
982
- percentilesRemainingCapacityRate: percents.map((percent) => {
983
- return {
984
- name: String(percent),
985
- value: 0
986
- };
987
- })
988
- }
989
- };
990
- }
991
- const ranks4percentile = percents.map((percentile) => {
992
- return {
993
- percentile,
994
- // tslint:disable-next-line:no-magic-numbers
995
- rank: Math.floor(aggregations[0].eventCount * percentile / 100)
996
- };
997
- });
998
- const aggregations2 = yield this.eventModel.aggregate([
999
- {
1000
- $match: matchConditions
1001
- },
1002
- {
1003
- $project: {
1004
- remainingCapacityRate: {
1005
- $cond: {
1006
- if: {
1007
- $and: [
1008
- { $isNumber: '$maximumAttendeeCapacity' },
1009
- { $isNumber: '$remainingAttendeeCapacity' }
1010
- ]
1011
- },
1012
- then: {
1013
- $cond: {
1014
- if: { $gt: ['$maximumAttendeeCapacity', 0] },
1015
- then: {
1016
- $multiply: [
1017
- { $divide: ['$remainingAttendeeCapacity', '$maximumAttendeeCapacity'] },
1018
- // tslint:disable-next-line:no-magic-numbers
1019
- 100
1020
- ]
1021
- },
1022
- else: 0
1023
- }
1024
- },
1025
- else: 0
1026
- }
1027
- },
1028
- eventStatus: '$eventStatus',
1029
- startDate: '$startDate',
1030
- endDate: '$endDate',
1031
- typeOf: '$typeOf'
1032
- }
1033
- },
1034
- { $sort: { remainingCapacityRate: 1 } },
1035
- {
1036
- $group: {
1037
- _id: '$typeOf',
1038
- remainingCapacityRates: { $push: '$remainingCapacityRate' }
1039
- }
1040
- },
1041
- {
1042
- $project: {
1043
- _id: 0,
1044
- percentilesRemainingCapacityRate: ranks4percentile.map((rank) => {
1045
- return {
1046
- name: String(rank.percentile),
1047
- value: { $arrayElemAt: ['$remainingCapacityRates', rank.rank] }
1048
- };
1049
- })
1050
- }
930
+ },
931
+ {
932
+ $group: {
933
+ _id: '$typeOf',
934
+ eventCount: { $sum: 1 },
935
+ reservationCount: { $sum: '$reservationCount' },
936
+ avgOfferCount: { $avg: '$offerCount' },
937
+ maximumAttendeeCapacity: { $sum: '$maximumAttendeeCapacity' },
938
+ remainingAttendeeCapacity: { $sum: '$remainingAttendeeCapacity' },
939
+ avgRemainingCapacityRate: { $avg: '$remainingCapacityRate' },
940
+ maxRemainingCapacityRate: { $max: '$remainingCapacityRate' },
941
+ minRemainingCapacityRate: { $min: '$remainingCapacityRate' }
1051
942
  }
1052
- ])
1053
- .exec();
943
+ },
944
+ {
945
+ $project: {
946
+ _id: 0,
947
+ eventCount: '$eventCount',
948
+ reservationCount: '$reservationCount',
949
+ avgOfferCount: '$avgOfferCount',
950
+ maximumAttendeeCapacity: '$maximumAttendeeCapacity',
951
+ remainingAttendeeCapacity: '$remainingAttendeeCapacity',
952
+ avgRemainingCapacityRate: '$avgRemainingCapacityRate',
953
+ maxRemainingCapacityRate: '$maxRemainingCapacityRate',
954
+ minRemainingCapacityRate: '$minRemainingCapacityRate'
955
+ }
956
+ }
957
+ ])
958
+ .exec();
959
+ const percents = [50, 95, 99];
960
+ if (aggregations.length === 0) {
1054
961
  return {
1055
962
  status: eventStatus,
1056
- aggregation: Object.assign(Object.assign({}, aggregations[0]), aggregations2[0])
963
+ aggregation: {
964
+ eventCount: 0,
965
+ reservationCount: 0,
966
+ avgOfferCount: 0,
967
+ maximumAttendeeCapacity: 0,
968
+ remainingAttendeeCapacity: 0,
969
+ avgRemainingCapacityRate: 0,
970
+ maxRemainingCapacityRate: 0,
971
+ minRemainingCapacityRate: 0,
972
+ percentilesRemainingCapacityRate: percents.map((percent) => {
973
+ return {
974
+ name: String(percent),
975
+ value: 0
976
+ };
977
+ })
978
+ }
979
+ };
980
+ }
981
+ const ranks4percentile = percents.map((percentile) => {
982
+ return {
983
+ percentile,
984
+ rank: Math.floor(aggregations[0].eventCount * percentile / 100)
1057
985
  };
1058
986
  });
987
+ const aggregations2 = await this.eventModel.aggregate([
988
+ {
989
+ $match: matchConditions
990
+ },
991
+ {
992
+ $project: {
993
+ remainingCapacityRate: {
994
+ $cond: {
995
+ if: {
996
+ $and: [
997
+ { $isNumber: '$maximumAttendeeCapacity' },
998
+ { $isNumber: '$remainingAttendeeCapacity' }
999
+ ]
1000
+ },
1001
+ then: {
1002
+ $cond: {
1003
+ if: { $gt: ['$maximumAttendeeCapacity', 0] },
1004
+ then: {
1005
+ $multiply: [
1006
+ { $divide: ['$remainingAttendeeCapacity', '$maximumAttendeeCapacity'] },
1007
+ 100
1008
+ ]
1009
+ },
1010
+ else: 0
1011
+ }
1012
+ },
1013
+ else: 0
1014
+ }
1015
+ },
1016
+ eventStatus: '$eventStatus',
1017
+ startDate: '$startDate',
1018
+ endDate: '$endDate',
1019
+ typeOf: '$typeOf'
1020
+ }
1021
+ },
1022
+ { $sort: { remainingCapacityRate: 1 } },
1023
+ {
1024
+ $group: {
1025
+ _id: '$typeOf',
1026
+ remainingCapacityRates: { $push: '$remainingCapacityRate' }
1027
+ }
1028
+ },
1029
+ {
1030
+ $project: {
1031
+ _id: 0,
1032
+ percentilesRemainingCapacityRate: ranks4percentile.map((rank) => {
1033
+ return {
1034
+ name: String(rank.percentile),
1035
+ value: { $arrayElemAt: ['$remainingCapacityRates', rank.rank] }
1036
+ };
1037
+ })
1038
+ }
1039
+ }
1040
+ ])
1041
+ .exec();
1042
+ return {
1043
+ status: eventStatus,
1044
+ aggregation: {
1045
+ ...aggregations[0],
1046
+ ...aggregations2[0]
1047
+ }
1048
+ };
1059
1049
  }
1060
1050
  }
1061
1051
  exports.EventRepo = EventRepo;