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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/lib/chevre/credentials/customSearch.js +2 -0
  2. package/lib/chevre/credentials/lineNotify.js +4 -0
  3. package/lib/chevre/credentials/sendGrid.js +2 -0
  4. package/lib/chevre/credentials.js +15 -30
  5. package/lib/chevre/emailMessageBuilder.js +225 -250
  6. package/lib/chevre/errorHandler.js +38 -59
  7. package/lib/chevre/eventEmitter/assetTransaction.js +0 -1
  8. package/lib/chevre/eventEmitter/task.js +0 -1
  9. package/lib/chevre/eventEmitter/transaction.js +0 -1
  10. package/lib/chevre/factory/event.js +69 -42
  11. package/lib/chevre/factory/transactionNumber.js +2 -2
  12. package/lib/chevre/index.js +15 -30
  13. package/lib/chevre/repo/acceptedOffer.js +177 -197
  14. package/lib/chevre/repo/acceptedPaymentMethod.js +131 -144
  15. package/lib/chevre/repo/account.js +194 -238
  16. package/lib/chevre/repo/accountTitle.js +9 -21
  17. package/lib/chevre/repo/accountTransaction.js +186 -193
  18. package/lib/chevre/repo/accountingReport.js +88 -107
  19. package/lib/chevre/repo/action.js +849 -883
  20. package/lib/chevre/repo/additionalProperty.js +64 -92
  21. package/lib/chevre/repo/advanceBookingRequirement.js +69 -91
  22. package/lib/chevre/repo/aggregateOffer.js +392 -430
  23. package/lib/chevre/repo/aggregateOrder.js +50 -62
  24. package/lib/chevre/repo/aggregateReservation.js +76 -89
  25. package/lib/chevre/repo/aggregation.js +42 -63
  26. package/lib/chevre/repo/assetTransaction.js +692 -729
  27. package/lib/chevre/repo/authorization.js +115 -134
  28. package/lib/chevre/repo/categoryCode.js +114 -147
  29. package/lib/chevre/repo/comment.js +73 -82
  30. package/lib/chevre/repo/concurrentLock.js +17 -29
  31. package/lib/chevre/repo/confirmationNumber.js +19 -35
  32. package/lib/chevre/repo/creativeWork.js +152 -180
  33. package/lib/chevre/repo/credentials.js +39 -51
  34. package/lib/chevre/repo/customer.js +64 -88
  35. package/lib/chevre/repo/customerType.js +52 -62
  36. package/lib/chevre/repo/emailMessage.js +51 -80
  37. package/lib/chevre/repo/event.js +640 -684
  38. package/lib/chevre/repo/eventOffer.js +122 -125
  39. package/lib/chevre/repo/eventSellerMakesOffer.js +64 -76
  40. package/lib/chevre/repo/eventSeries.js +207 -244
  41. package/lib/chevre/repo/identity.js +94 -107
  42. package/lib/chevre/repo/identityProvider.js +72 -96
  43. package/lib/chevre/repo/issuer.js +102 -135
  44. package/lib/chevre/repo/member.js +238 -259
  45. package/lib/chevre/repo/memberProgram.js +157 -177
  46. package/lib/chevre/repo/merchantReturnPolicy.js +61 -94
  47. package/lib/chevre/repo/message.js +122 -135
  48. package/lib/chevre/repo/mongoose/onIndexCreated.js +0 -1
  49. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
  50. package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
  51. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
  52. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  53. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
  54. package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
  55. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
  56. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
  57. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
  58. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
  59. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
  60. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -1
  61. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
  62. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
  63. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  64. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
  65. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
  66. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
  67. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
  68. package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
  69. package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
  70. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
  71. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +1 -1
  72. package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
  73. package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
  74. package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
  75. package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
  76. package/lib/chevre/repo/mongoose/schemas/member.js +1 -1
  77. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
  78. package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
  79. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
  80. package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
  81. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +1 -1
  82. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +1 -1
  83. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
  84. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  85. package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
  87. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
  88. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
  89. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  90. package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
  91. package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
  92. package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
  93. package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
  94. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  95. package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
  96. package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
  97. package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
  98. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
  99. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
  101. package/lib/chevre/repo/mongoose/schemas/setting.js +1 -1
  102. package/lib/chevre/repo/mongoose/schemas/task.js +1 -2
  103. package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
  104. package/lib/chevre/repo/mongoose/schemas/transaction.js +1 -1
  105. package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
  106. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
  107. package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
  108. package/lib/chevre/repo/movieTicketType.js +67 -94
  109. package/lib/chevre/repo/note.js +143 -147
  110. package/lib/chevre/repo/noteAboutOrder.js +112 -113
  111. package/lib/chevre/repo/offer/unitPriceInCatalog.js +330 -314
  112. package/lib/chevre/repo/offerCatalog.js +302 -334
  113. package/lib/chevre/repo/offerCatalogItem.js +289 -317
  114. package/lib/chevre/repo/offerItemCondition.js +60 -85
  115. package/lib/chevre/repo/order.js +559 -607
  116. package/lib/chevre/repo/orderInTransaction.js +113 -136
  117. package/lib/chevre/repo/orderNumber.js +95 -112
  118. package/lib/chevre/repo/ownershipInfo.js +212 -240
  119. package/lib/chevre/repo/passport.js +93 -102
  120. package/lib/chevre/repo/paymentMethod/creditCard.js +151 -169
  121. package/lib/chevre/repo/paymentService.js +179 -200
  122. package/lib/chevre/repo/paymentServiceChannel.js +76 -100
  123. package/lib/chevre/repo/paymentServiceProvider.js +186 -201
  124. package/lib/chevre/repo/pendingReservation.js +272 -305
  125. package/lib/chevre/repo/permit.js +47 -42
  126. package/lib/chevre/repo/person.js +217 -256
  127. package/lib/chevre/repo/place/busStop.js +76 -106
  128. package/lib/chevre/repo/place/entranceGate.js +123 -128
  129. package/lib/chevre/repo/place/hasPOS.js +108 -120
  130. package/lib/chevre/repo/place/movieTheater.js +185 -220
  131. package/lib/chevre/repo/place/screeningRoom.js +339 -325
  132. package/lib/chevre/repo/place/seat.js +538 -481
  133. package/lib/chevre/repo/place/section.js +328 -296
  134. package/lib/chevre/repo/potentialAction.js +67 -87
  135. package/lib/chevre/repo/priceSpecification.js +102 -146
  136. package/lib/chevre/repo/product.js +203 -239
  137. package/lib/chevre/repo/productHasOfferCatalog.js +39 -50
  138. package/lib/chevre/repo/productModel.js +94 -127
  139. package/lib/chevre/repo/productOffer.js +119 -118
  140. package/lib/chevre/repo/project.js +123 -141
  141. package/lib/chevre/repo/projectMakesOffer.js +96 -108
  142. package/lib/chevre/repo/rateLimit/offer.js +43 -57
  143. package/lib/chevre/repo/reservation.js +369 -398
  144. package/lib/chevre/repo/reserveInterface.js +31 -42
  145. package/lib/chevre/repo/role.js +93 -112
  146. package/lib/chevre/repo/schedule.js +25 -36
  147. package/lib/chevre/repo/seller.js +114 -147
  148. package/lib/chevre/repo/sellerMakesOffer.js +95 -110
  149. package/lib/chevre/repo/sellerPaymentAccepted.js +92 -109
  150. package/lib/chevre/repo/sellerReturnPolicy.js +74 -97
  151. package/lib/chevre/repo/service/availableHour.js +27 -38
  152. package/lib/chevre/repo/serviceOutput.js +54 -67
  153. package/lib/chevre/repo/serviceOutputIdentifier.js +46 -58
  154. package/lib/chevre/repo/setting/jwt.js +40 -50
  155. package/lib/chevre/repo/setting.js +48 -48
  156. package/lib/chevre/repo/stockHolder.js +179 -199
  157. package/lib/chevre/repo/task.js +610 -619
  158. package/lib/chevre/repo/telemetry.js +1 -0
  159. package/lib/chevre/repo/ticket.js +52 -65
  160. package/lib/chevre/repo/transaction.js +754 -815
  161. package/lib/chevre/repo/transactionNumber.js +67 -80
  162. package/lib/chevre/repo/transactionNumberCounter.js +68 -79
  163. package/lib/chevre/repo/transactionProcess.js +36 -47
  164. package/lib/chevre/repo/trip.js +144 -164
  165. package/lib/chevre/repo/webSite.js +90 -106
  166. package/lib/chevre/repository.js +455 -647
  167. package/lib/chevre/service/account.js +9 -21
  168. package/lib/chevre/service/accountTransaction/deposit.js +16 -17
  169. package/lib/chevre/service/accountTransaction/transfer.js +18 -22
  170. package/lib/chevre/service/accountTransaction/withdraw.js +16 -17
  171. package/lib/chevre/service/accountTransaction.js +4 -16
  172. package/lib/chevre/service/aggregation/event/aggregateOffers.js +63 -60
  173. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +52 -55
  174. package/lib/chevre/service/aggregation/event/findEventOffers.js +7 -17
  175. package/lib/chevre/service/aggregation/event/importFromCOA.js +4 -14
  176. package/lib/chevre/service/aggregation/project.js +10 -19
  177. package/lib/chevre/service/aggregation/system.js +182 -99
  178. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +31 -17
  179. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +17 -24
  180. package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +17 -15
  181. package/lib/chevre/service/assetTransaction/cancelReservation.js +7 -18
  182. package/lib/chevre/service/assetTransaction/cancelReservationCOA/factory.js +11 -4
  183. package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +4 -13
  184. package/lib/chevre/service/assetTransaction/fixInformAction.js +6 -16
  185. package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +13 -25
  186. package/lib/chevre/service/assetTransaction/moneyTransfer.js +101 -90
  187. package/lib/chevre/service/assetTransaction/pay/cancel.js +3 -12
  188. package/lib/chevre/service/assetTransaction/pay/check.js +4 -14
  189. package/lib/chevre/service/assetTransaction/pay/confirm.js +18 -21
  190. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +4 -14
  191. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +33 -34
  192. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +7 -17
  193. package/lib/chevre/service/assetTransaction/pay/start/account/validation.js +6 -16
  194. package/lib/chevre/service/assetTransaction/pay/start/factory.js +64 -37
  195. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateAcceptedPaymentMethodIfNeeded.js +7 -19
  196. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +6 -16
  197. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +7 -17
  198. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +9 -15
  199. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +3 -12
  200. package/lib/chevre/service/assetTransaction/pay/start.js +29 -35
  201. package/lib/chevre/service/assetTransaction/refund/factory.js +36 -16
  202. package/lib/chevre/service/assetTransaction/refund/potentialActions.js +12 -21
  203. package/lib/chevre/service/assetTransaction/refund.js +35 -41
  204. package/lib/chevre/service/assetTransaction/registerService/factory.js +65 -28
  205. package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +50 -43
  206. package/lib/chevre/service/assetTransaction/registerService.js +45 -56
  207. package/lib/chevre/service/assetTransaction/reserve/cancel.js +5 -14
  208. package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -4
  209. package/lib/chevre/service/assetTransaction/reserve/confirm.js +21 -26
  210. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +3 -13
  211. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +99 -83
  212. package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +17 -12
  213. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +108 -72
  214. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +69 -30
  215. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +29 -20
  216. package/lib/chevre/service/assetTransaction/reserve/start.js +91 -108
  217. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +5 -15
  218. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +41 -54
  219. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +42 -56
  220. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +7 -19
  221. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +15 -27
  222. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +24 -24
  223. package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +12 -4
  224. package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
  225. package/lib/chevre/service/assetTransaction.js +17 -21
  226. package/lib/chevre/service/delivery/factory.js +3 -4
  227. package/lib/chevre/service/delivery/product/factory.js +16 -7
  228. package/lib/chevre/service/delivery/reservation/factory.js +14 -3
  229. package/lib/chevre/service/delivery.js +48 -52
  230. package/lib/chevre/service/event/processUpdateMovieTheater.js +21 -26
  231. package/lib/chevre/service/event/saveScreeningEventSeries.js +56 -41
  232. package/lib/chevre/service/event/saveScreeningEvents.js +14 -29
  233. package/lib/chevre/service/event.js +34 -30
  234. package/lib/chevre/service/iam.js +8 -17
  235. package/lib/chevre/service/moneyTransfer.js +128 -112
  236. package/lib/chevre/service/notification/factory.js +11 -10
  237. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +11 -15
  238. package/lib/chevre/service/notification/notifyByEmail.js +7 -19
  239. package/lib/chevre/service/notification/sendEmailMessage.js +23 -26
  240. package/lib/chevre/service/notification/triggerWebhook.js +58 -56
  241. package/lib/chevre/service/offer/any.js +6 -15
  242. package/lib/chevre/service/offer/event/authorize/factory.js +139 -63
  243. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +8 -19
  244. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +43 -27
  245. package/lib/chevre/service/offer/event/authorize.js +114 -71
  246. package/lib/chevre/service/offer/event/checkAvailability.js +5 -15
  247. package/lib/chevre/service/offer/event/importFromCOA/factory.js +9 -3
  248. package/lib/chevre/service/offer/event/importFromCOA.js +13 -19
  249. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +38 -39
  250. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +26 -41
  251. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +11 -22
  252. package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +13 -26
  253. package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +15 -23
  254. package/lib/chevre/service/offer/event/searchOffersByIds.js +24 -39
  255. package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +5 -14
  256. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +4 -13
  257. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
  258. package/lib/chevre/service/offer/event/voidTransaction.js +35 -41
  259. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +14 -20
  260. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +52 -42
  261. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +5 -1
  262. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +34 -37
  263. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +45 -26
  264. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +67 -62
  265. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +16 -27
  266. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +8 -18
  267. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +42 -43
  268. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +22 -25
  269. package/lib/chevre/service/offer/factory.js +18 -8
  270. package/lib/chevre/service/offer/moneyTransfer/authorize.js +31 -36
  271. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +9 -18
  272. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +10 -19
  273. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +14 -24
  274. package/lib/chevre/service/offer/onEventChanged.js +69 -65
  275. package/lib/chevre/service/offer/product/factory.js +54 -32
  276. package/lib/chevre/service/offer/product/searchProductOffers.js +30 -24
  277. package/lib/chevre/service/offer/product.js +106 -82
  278. package/lib/chevre/service/offer.js +48 -45
  279. package/lib/chevre/service/order/confirmPayTransaction.js +28 -27
  280. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +54 -41
  281. package/lib/chevre/service/order/deleteOrder.js +28 -36
  282. package/lib/chevre/service/order/findPlaceOrderTransaction.js +3 -12
  283. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +64 -70
  284. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +1 -2
  285. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +3 -12
  286. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +11 -6
  287. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +5 -14
  288. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +22 -9
  289. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +5 -14
  290. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +23 -26
  291. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +13 -19
  292. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +5 -14
  293. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +24 -14
  294. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +23 -32
  295. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +8 -18
  296. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +10 -9
  297. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +23 -28
  298. package/lib/chevre/service/order/onOrderUpdated/factory.js +3 -5
  299. package/lib/chevre/service/order/onOrderUpdated.js +13 -15
  300. package/lib/chevre/service/order/payOrder.js +3 -12
  301. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +9 -20
  302. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +31 -15
  303. package/lib/chevre/service/order/placeOrder/factory.js +35 -22
  304. package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +3 -12
  305. package/lib/chevre/service/order/placeOrder.js +12 -23
  306. package/lib/chevre/service/order/placeOrderWithoutTransaction.js +10 -18
  307. package/lib/chevre/service/order/returnOrder.js +27 -30
  308. package/lib/chevre/service/order/sendOrder.js +37 -37
  309. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +19 -25
  310. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +24 -39
  311. package/lib/chevre/service/payment/any/factory.js +106 -50
  312. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +4 -13
  313. package/lib/chevre/service/payment/any/onPayActionCompleted.js +13 -18
  314. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +34 -37
  315. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +18 -24
  316. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +16 -16
  317. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +15 -21
  318. package/lib/chevre/service/payment/any/person2username.js +32 -45
  319. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +8 -18
  320. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +5 -17
  321. package/lib/chevre/service/payment/any.js +181 -142
  322. package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +2 -2
  323. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +44 -25
  324. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +6 -15
  325. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +5 -1
  326. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +10 -2
  327. package/lib/chevre/service/payment/creditCard/authorize.js +20 -22
  328. package/lib/chevre/service/payment/creditCard/factory.js +22 -4
  329. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +8 -18
  330. package/lib/chevre/service/payment/creditCard/payCreditCard.js +31 -36
  331. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +40 -51
  332. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +33 -45
  333. package/lib/chevre/service/payment/creditCard/voidTransaction.js +15 -26
  334. package/lib/chevre/service/payment/faceToFace.js +14 -23
  335. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +44 -25
  336. package/lib/chevre/service/payment/factory.js +50 -24
  337. package/lib/chevre/service/payment/movieTicket/authorize.js +35 -30
  338. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +22 -25
  339. package/lib/chevre/service/payment/movieTicket/factory.js +33 -10
  340. package/lib/chevre/service/payment/movieTicket/getCredentials.js +5 -15
  341. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +29 -40
  342. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +8 -18
  343. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +60 -60
  344. package/lib/chevre/service/payment/movieTicket/validation.js +41 -37
  345. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +8 -18
  346. package/lib/chevre/service/payment/paymentCard.js +87 -104
  347. package/lib/chevre/service/permit.js +36 -35
  348. package/lib/chevre/service/product.js +23 -28
  349. package/lib/chevre/service/project.js +22 -31
  350. package/lib/chevre/service/report/ownershipInfo.js +3 -4
  351. package/lib/chevre/service/report/telemetry.js +51 -70
  352. package/lib/chevre/service/reserve/cancelReservation.js +92 -93
  353. package/lib/chevre/service/reserve/checkInReservation.js +24 -29
  354. package/lib/chevre/service/reserve/confirmReservation.js +33 -39
  355. package/lib/chevre/service/reserve/factory.js +42 -20
  356. package/lib/chevre/service/reserve/findByCode.js +13 -18
  357. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +18 -24
  358. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +17 -25
  359. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +38 -30
  360. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +45 -37
  361. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +37 -33
  362. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +17 -23
  363. package/lib/chevre/service/reserve/searchByOrder.js +10 -20
  364. package/lib/chevre/service/reserve/useReservation.js +47 -34
  365. package/lib/chevre/service/reserve/verifyToken4reservation.js +7 -14
  366. package/lib/chevre/service/reserveCOA/cancelReservation.js +7 -17
  367. package/lib/chevre/service/reserveCOA/factory.js +5 -1
  368. package/lib/chevre/service/task/acceptCOAOffer.js +20 -25
  369. package/lib/chevre/service/task/aggregateOffers.js +3 -12
  370. package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
  371. package/lib/chevre/service/task/aggregateScreeningEvent.js +3 -12
  372. package/lib/chevre/service/task/authorizePayment.js +9 -15
  373. package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
  374. package/lib/chevre/service/task/cancelPendingReservation.js +10 -20
  375. package/lib/chevre/service/task/cancelReservation.js +3 -12
  376. package/lib/chevre/service/task/checkMovieTicket.js +16 -19
  377. package/lib/chevre/service/task/checkResource.js +7 -16
  378. package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
  379. package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
  380. package/lib/chevre/service/task/confirmRegisterService.js +3 -12
  381. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +24 -31
  382. package/lib/chevre/service/task/confirmReserveTransaction.js +48 -45
  383. package/lib/chevre/service/task/createAccountingReport.js +14 -20
  384. package/lib/chevre/service/task/deletePerson.js +48 -60
  385. package/lib/chevre/service/task/deleteTransaction.js +3 -12
  386. package/lib/chevre/service/task/givePointAward.js +3 -12
  387. package/lib/chevre/service/task/handleNotification.js +4 -14
  388. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +6 -16
  389. package/lib/chevre/service/task/importEventsFromCOA.js +6 -16
  390. package/lib/chevre/service/task/importOffersFromCOA.js +8 -18
  391. package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
  392. package/lib/chevre/service/task/moneyTransfer.js +3 -12
  393. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
  394. package/lib/chevre/service/task/onAuthorizationCreated.js +11 -19
  395. package/lib/chevre/service/task/onEventChanged.js +3 -12
  396. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
  397. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +7 -16
  398. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +7 -16
  399. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +8 -17
  400. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +10 -19
  401. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +8 -17
  402. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +6 -15
  403. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +14 -24
  404. package/lib/chevre/service/task/onResourceDeleted.js +17 -27
  405. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +9 -21
  406. package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
  407. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +11 -23
  408. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +13 -25
  409. package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +9 -15
  410. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +21 -27
  411. package/lib/chevre/service/task/onResourceUpdated.js +113 -158
  412. package/lib/chevre/service/task/pay.js +8 -16
  413. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +4 -14
  414. package/lib/chevre/service/task/payment/payByTask.js +49 -38
  415. package/lib/chevre/service/task/payment/refundByTask.js +7 -17
  416. package/lib/chevre/service/task/payment/voidPaymentByTask.js +6 -15
  417. package/lib/chevre/service/task/placeOrder.js +6 -12
  418. package/lib/chevre/service/task/publishPaymentUrl.js +9 -14
  419. package/lib/chevre/service/task/refund.js +8 -16
  420. package/lib/chevre/service/task/registerService.js +3 -12
  421. package/lib/chevre/service/task/reserve.js +3 -12
  422. package/lib/chevre/service/task/returnMoneyTransfer.js +3 -12
  423. package/lib/chevre/service/task/returnOrder.js +6 -12
  424. package/lib/chevre/service/task/returnPayTransaction.js +54 -49
  425. package/lib/chevre/service/task/returnPointAward.js +3 -12
  426. package/lib/chevre/service/task/returnReserveTransaction.js +29 -30
  427. package/lib/chevre/service/task/sendEmailMessage.js +6 -13
  428. package/lib/chevre/service/task/sendOrder.js +12 -15
  429. package/lib/chevre/service/task/syncResourcesFromCOA.js +39 -45
  430. package/lib/chevre/service/task/triggerWebhook.js +6 -12
  431. package/lib/chevre/service/task/useReservation.js +11 -14
  432. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
  433. package/lib/chevre/service/task/voidPayTransaction.js +7 -12
  434. package/lib/chevre/service/task/voidPayment.js +3 -12
  435. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
  436. package/lib/chevre/service/task/voidReserveTransaction.js +10 -16
  437. package/lib/chevre/service/task.js +16 -26
  438. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +9 -20
  439. package/lib/chevre/service/taskHandler/onOperationFailed.js +20 -17
  440. package/lib/chevre/service/taskHandler.js +19 -22
  441. package/lib/chevre/service/transaction/deleteTransaction.js +104 -88
  442. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +15 -9
  443. package/lib/chevre/service/transaction/moneyTransfer/factory.js +13 -4
  444. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +12 -24
  445. package/lib/chevre/service/transaction/moneyTransfer.js +119 -98
  446. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +49 -51
  447. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
  448. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +4 -14
  449. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +3 -4
  450. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +3 -6
  451. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +2 -3
  452. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +30 -47
  453. package/lib/chevre/service/transaction/placeOrder/confirm.js +75 -59
  454. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +31 -15
  455. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +6 -15
  456. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +6 -15
  457. package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +7 -16
  458. package/lib/chevre/service/transaction/placeOrder/start/factory.js +27 -7
  459. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +53 -60
  460. package/lib/chevre/service/transaction/placeOrder/start.js +14 -18
  461. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +13 -7
  462. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +176 -190
  463. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +75 -89
  464. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +40 -48
  465. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +52 -56
  466. package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +100 -104
  467. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +60 -80
  468. package/lib/chevre/service/transaction/returnOrder/preStart.js +42 -47
  469. package/lib/chevre/service/transaction/returnOrder.js +32 -37
  470. package/lib/chevre/service/transaction.js +75 -46
  471. package/lib/chevre/service/validation/validateEvent.js +2 -11
  472. package/lib/chevre/service/validation/validateOrder.js +7 -18
  473. package/lib/chevre/service.js +85 -131
  474. package/lib/chevre/settings/aggregation.js +4 -0
  475. package/lib/chevre/settings.js +7 -1
  476. package/lib/index.js +0 -1
  477. package/package.json +6 -11
  478. package/example/src/chevre/addEventBySchedule.ts +0 -46
  479. package/example/src/idaas/auth0/adminApplications.ts +0 -183
  480. package/example/src/idaas/auth0/getToken.ts +0 -55
  481. package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +0 -84
@@ -1,24 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
19
- }
20
- return t;
21
- };
22
2
  Object.defineProperty(exports, "__esModule", { value: true });
23
3
  exports.ScreeningRoomRepo = void 0;
24
4
  const factory = require("../../factory");
@@ -29,28 +9,28 @@ const place_1 = require("../mongoose/schemas/place");
29
9
  * ルームリポジトリ
30
10
  */
31
11
  class ScreeningRoomRepo {
12
+ civicStructureModel;
13
+ placeModel;
32
14
  constructor(connection) {
33
15
  this.civicStructureModel = connection.model(civicStructure_1.modelName, (0, civicStructure_1.createSchema)());
34
16
  this.placeModel = connection.model(place_1.modelName, (0, place_1.createSchema)());
35
17
  }
36
- // tslint:disable-next-line:max-func-body-length
37
18
  static CREATE_ROOM_MONGO_CONDITIONS(searchConditions) {
38
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
39
19
  const matchStages = [{ $match: { typeOf: { $eq: factory.placeType.ScreeningRoom } } }];
40
- const projectIdEq = (_b = (_a = searchConditions.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
20
+ const projectIdEq = searchConditions.project?.id?.$eq;
41
21
  if (typeof projectIdEq === 'string') {
42
22
  matchStages.push({
43
23
  $match: { 'project.id': { $eq: projectIdEq } }
44
24
  });
45
25
  }
46
- const parentOrganizationIdEq = (_d = (_c = searchConditions.parentOrganization) === null || _c === void 0 ? void 0 : _c.id) === null || _d === void 0 ? void 0 : _d.$eq;
26
+ const parentOrganizationIdEq = searchConditions.parentOrganization?.id?.$eq;
47
27
  if (typeof parentOrganizationIdEq === 'string') {
48
28
  matchStages.push({
49
29
  $match: { 'parentOrganization.id': { $exists: true, $eq: parentOrganizationIdEq } }
50
30
  });
51
31
  }
52
32
  // 施設ID
53
- const containedInPlaceIdEq = (_f = (_e = searchConditions.containedInPlace) === null || _e === void 0 ? void 0 : _e.id) === null || _f === void 0 ? void 0 : _f.$eq;
33
+ const containedInPlaceIdEq = searchConditions.containedInPlace?.id?.$eq;
54
34
  if (typeof containedInPlaceIdEq === 'string') {
55
35
  matchStages.push({
56
36
  $match: {
@@ -76,7 +56,7 @@ class ScreeningRoomRepo {
76
56
  }
77
57
  }
78
58
  }
79
- const branchCodeEq = (_g = searchConditions.branchCode) === null || _g === void 0 ? void 0 : _g.$eq;
59
+ const branchCodeEq = searchConditions.branchCode?.$eq;
80
60
  if (typeof branchCodeEq === 'string') {
81
61
  matchStages.push({
82
62
  $match: {
@@ -84,7 +64,7 @@ class ScreeningRoomRepo {
84
64
  }
85
65
  });
86
66
  }
87
- const branchCodeIn = (_h = searchConditions.branchCode) === null || _h === void 0 ? void 0 : _h.$in;
67
+ const branchCodeIn = searchConditions.branchCode?.$in;
88
68
  if (Array.isArray(branchCodeIn)) {
89
69
  matchStages.push({
90
70
  $match: {
@@ -92,7 +72,7 @@ class ScreeningRoomRepo {
92
72
  }
93
73
  });
94
74
  }
95
- const branchCodeRegex = (_j = searchConditions.branchCode) === null || _j === void 0 ? void 0 : _j.$regex;
75
+ const branchCodeRegex = searchConditions.branchCode?.$regex;
96
76
  if (typeof branchCodeRegex === 'string') {
97
77
  matchStages.push({
98
78
  $match: {
@@ -102,7 +82,7 @@ class ScreeningRoomRepo {
102
82
  }
103
83
  });
104
84
  }
105
- const nameCodeRegex = (_k = searchConditions.name) === null || _k === void 0 ? void 0 : _k.$regex;
85
+ const nameCodeRegex = searchConditions.name?.$regex;
106
86
  if (typeof nameCodeRegex === 'string') {
107
87
  matchStages.push({
108
88
  $match: {
@@ -134,7 +114,7 @@ class ScreeningRoomRepo {
134
114
  }
135
115
  });
136
116
  }
137
- const additionalPropertyElemMatch = (_l = searchConditions.additionalProperty) === null || _l === void 0 ? void 0 : _l.$elemMatch;
117
+ const additionalPropertyElemMatch = searchConditions.additionalProperty?.$elemMatch;
138
118
  if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
139
119
  matchStages.push({
140
120
  $match: {
@@ -147,236 +127,278 @@ class ScreeningRoomRepo {
147
127
  }
148
128
  return matchStages;
149
129
  }
150
- saveScreeningRooms4coa(params) {
151
- return __awaiter(this, void 0, void 0, function* () {
152
- const { containsPlace } = params, movieTheater4update = __rest(params, ["containsPlace"]);
153
- const movieTheater = yield this.civicStructureModel.findOne({
154
- typeOf: { $eq: factory.placeType.MovieTheater },
155
- 'project.id': { $eq: params.project.id },
156
- branchCode: { $eq: movieTheater4update.branchCode }
157
- }, { _id: 0, id: { $toString: '$_id' } })
158
- .lean()
159
- .exec();
160
- if (movieTheater === null) {
161
- throw new factory.errors.NotFound(factory.placeType.MovieTheater);
162
- }
163
- const creatingScreeningRooms = params.containsPlace.map((place) => {
164
- return Object.assign(Object.assign({}, place), { containedInPlace: {
165
- id: movieTheater.id,
166
- typeOf: movieTheater4update.typeOf,
167
- branchCode: movieTheater4update.branchCode,
168
- name: movieTheater4update.name
169
- }, containsPlace: (Array.isArray(place.containsPlace)) ? place.containsPlace : [], project: params.project });
170
- });
171
- yield Promise.all(creatingScreeningRooms.map((createScreeningRoom) => __awaiter(this, void 0, void 0, function* () {
172
- const { typeOf, project, branchCode } = createScreeningRoom, setFields = __rest(createScreeningRoom, ["typeOf", "project", "branchCode"]);
173
- if (typeof branchCode === 'string' && branchCode.length > 0) {
174
- yield this.placeModel.findOneAndUpdate({
175
- typeOf: { $eq: factory.placeType.ScreeningRoom },
176
- 'project.id': { $eq: createScreeningRoom.project.id },
177
- 'containedInPlace.id': { $exists: true, $eq: createScreeningRoom.containedInPlace.id },
178
- branchCode: { $eq: createScreeningRoom.branchCode }
179
- }, {
180
- $setOnInsert: {
181
- typeOf: createScreeningRoom.typeOf,
182
- project: createScreeningRoom.project,
183
- branchCode: createScreeningRoom.branchCode
184
- },
185
- $set: setFields
186
- }, {
187
- upsert: true,
188
- new: true,
189
- projection: { _id: 1 }
190
- })
191
- .exec();
192
- }
193
- })));
130
+ async saveScreeningRooms4coa(params) {
131
+ const { containsPlace, ...movieTheater4update } = params;
132
+ const movieTheater = await this.civicStructureModel.findOne({
133
+ typeOf: { $eq: factory.placeType.MovieTheater },
134
+ 'project.id': { $eq: params.project.id },
135
+ branchCode: { $eq: movieTheater4update.branchCode }
136
+ }, { _id: 0, id: { $toString: '$_id' } })
137
+ .lean()
138
+ .exec();
139
+ if (movieTheater === null) {
140
+ throw new factory.errors.NotFound(factory.placeType.MovieTheater);
141
+ }
142
+ const creatingScreeningRooms = params.containsPlace.map((place) => {
143
+ return {
144
+ ...place,
145
+ containedInPlace: {
146
+ id: movieTheater.id,
147
+ typeOf: movieTheater4update.typeOf,
148
+ branchCode: movieTheater4update.branchCode,
149
+ name: movieTheater4update.name
150
+ },
151
+ containsPlace: (Array.isArray(place.containsPlace)) ? place.containsPlace : [],
152
+ project: params.project
153
+ };
194
154
  });
155
+ await Promise.all(creatingScreeningRooms.map(async (createScreeningRoom) => {
156
+ const { typeOf, project, branchCode, ...setFields } = createScreeningRoom;
157
+ if (typeof branchCode === 'string' && branchCode.length > 0) {
158
+ await this.placeModel.findOneAndUpdate({
159
+ typeOf: { $eq: factory.placeType.ScreeningRoom },
160
+ 'project.id': { $eq: createScreeningRoom.project.id },
161
+ 'containedInPlace.id': { $exists: true, $eq: createScreeningRoom.containedInPlace.id },
162
+ branchCode: { $eq: createScreeningRoom.branchCode }
163
+ }, {
164
+ $setOnInsert: {
165
+ typeOf: createScreeningRoom.typeOf,
166
+ project: createScreeningRoom.project,
167
+ branchCode: createScreeningRoom.branchCode
168
+ },
169
+ $set: setFields
170
+ }, {
171
+ upsert: true,
172
+ new: true,
173
+ projection: { _id: 1 }
174
+ })
175
+ .exec();
176
+ }
177
+ }));
195
178
  }
196
- createRoom(screeningRoom, options) {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- const { project, parentOrganization, movieTheaterCode } = options;
199
- // 施設存在確認
200
- const movieTheater = yield this.civicStructureModel.findOne(Object.assign({ typeOf: { $eq: factory.placeType.MovieTheater }, 'project.id': { $eq: project.id }, branchCode: { $eq: movieTheaterCode } }, (typeof (parentOrganization === null || parentOrganization === void 0 ? void 0 : parentOrganization.id) === 'string')
179
+ async createRoom(screeningRoom, options) {
180
+ const { project, parentOrganization, movieTheaterCode } = options;
181
+ // 施設存在確認
182
+ const movieTheater = await this.civicStructureModel.findOne({
183
+ typeOf: { $eq: factory.placeType.MovieTheater },
184
+ 'project.id': { $eq: project.id },
185
+ branchCode: { $eq: movieTheaterCode },
186
+ ...(typeof parentOrganization?.id === 'string')
201
187
  ? { 'parentOrganization.id': { $exists: true, $eq: parentOrganization.id } }
202
- : undefined), { _id: 0, id: { $toString: '$_id' }, typeOf: 1, branchCode: 1, name: 1, parentOrganization: 1 })
203
- .lean()
204
- .exec();
205
- if (movieTheater === null) {
206
- throw new factory.errors.NotFound(factory.placeType.MovieTheater);
207
- }
208
- const creatingScreeningRoom = Object.assign({ typeOf: factory.placeType.ScreeningRoom, branchCode: screeningRoom.branchCode, name: screeningRoom.name, address: screeningRoom.address, additionalProperty: (Array.isArray(screeningRoom.additionalProperty)) ? screeningRoom.additionalProperty : [], containedInPlace: {
209
- id: movieTheater.id,
210
- typeOf: movieTheater.typeOf,
211
- branchCode: movieTheater.branchCode,
212
- name: movieTheater.name
213
- }, containsPlace: [], project: { id: project.id, typeOf: factory.organizationType.Project },
214
- // 必須化(2023-07-14~)
215
- parentOrganization: movieTheater.parentOrganization }, (typeof screeningRoom.openSeatingAllowed === 'boolean')
188
+ : undefined
189
+ }, { _id: 0, id: { $toString: '$_id' }, typeOf: 1, branchCode: 1, name: 1, parentOrganization: 1 })
190
+ .lean()
191
+ .exec();
192
+ if (movieTheater === null) {
193
+ throw new factory.errors.NotFound(factory.placeType.MovieTheater);
194
+ }
195
+ const creatingScreeningRoom = {
196
+ typeOf: factory.placeType.ScreeningRoom,
197
+ branchCode: screeningRoom.branchCode,
198
+ name: screeningRoom.name,
199
+ address: screeningRoom.address,
200
+ additionalProperty: (Array.isArray(screeningRoom.additionalProperty)) ? screeningRoom.additionalProperty : [],
201
+ containedInPlace: {
202
+ id: movieTheater.id,
203
+ typeOf: movieTheater.typeOf,
204
+ branchCode: movieTheater.branchCode,
205
+ name: movieTheater.name
206
+ },
207
+ containsPlace: [],
208
+ project: { id: project.id, typeOf: factory.organizationType.Project },
209
+ // 必須化(2023-07-14~)
210
+ parentOrganization: movieTheater.parentOrganization,
211
+ ...(typeof screeningRoom.openSeatingAllowed === 'boolean')
216
212
  ? { openSeatingAllowed: screeningRoom.openSeatingAllowed }
217
- : undefined);
218
- const upsertScreeningRoomResult = yield this.placeModel.updateOne({
219
- typeOf: { $eq: factory.placeType.ScreeningRoom },
220
- 'project.id': { $eq: creatingScreeningRoom.project.id },
221
- 'containedInPlace.id': { $exists: true, $eq: creatingScreeningRoom.containedInPlace.id },
222
- branchCode: { $eq: creatingScreeningRoom.branchCode }
223
- },
224
- // 既存であれば何もしない
225
- { $setOnInsert: creatingScreeningRoom }, { upsert: true })
226
- .exec();
227
- // 既存であればコード重複
228
- if (upsertScreeningRoomResult.matchedCount > 0) {
229
- throw new factory.errors.AlreadyInUse(factory.placeType.ScreeningRoom, ['branchCode']);
230
- }
231
- return {
232
- containedInPlace: { id: creatingScreeningRoom.containedInPlace.id },
233
- typeOf: factory.placeType.ScreeningRoom
234
- };
235
- });
213
+ : undefined
214
+ };
215
+ const upsertScreeningRoomResult = await this.placeModel.updateOne({
216
+ typeOf: { $eq: factory.placeType.ScreeningRoom },
217
+ 'project.id': { $eq: creatingScreeningRoom.project.id },
218
+ 'containedInPlace.id': { $exists: true, $eq: creatingScreeningRoom.containedInPlace.id },
219
+ branchCode: { $eq: creatingScreeningRoom.branchCode }
220
+ },
221
+ // 既存であれば何もしない
222
+ { $setOnInsert: creatingScreeningRoom }, { upsert: true })
223
+ .exec();
224
+ // 既存であればコード重複
225
+ if (upsertScreeningRoomResult.matchedCount > 0) {
226
+ throw new factory.errors.AlreadyInUse(factory.placeType.ScreeningRoom, ['branchCode']);
227
+ }
228
+ return {
229
+ containedInPlace: { id: creatingScreeningRoom.containedInPlace.id },
230
+ typeOf: factory.placeType.ScreeningRoom
231
+ };
236
232
  }
237
- updateRoomByBranchCode(screeningRoom, $unset, options) {
238
- return __awaiter(this, void 0, void 0, function* () {
239
- const { project, parentOrganization, movieTheaterCode } = options;
240
- const doc = yield this.placeModel.findOneAndUpdate(Object.assign({ typeOf: { $eq: factory.placeType.ScreeningRoom }, 'project.id': { $eq: project.id }, 'containedInPlace.branchCode': { $exists: true, $eq: movieTheaterCode }, branchCode: screeningRoom.branchCode }, (typeof (parentOrganization === null || parentOrganization === void 0 ? void 0 : parentOrganization.id) === 'string')
233
+ async updateRoomByBranchCode(screeningRoom, $unset, options) {
234
+ const { project, parentOrganization, movieTheaterCode } = options;
235
+ const doc = await this.placeModel.findOneAndUpdate({
236
+ typeOf: { $eq: factory.placeType.ScreeningRoom },
237
+ 'project.id': { $eq: project.id },
238
+ 'containedInPlace.branchCode': { $exists: true, $eq: movieTheaterCode },
239
+ branchCode: screeningRoom.branchCode,
240
+ ...(typeof parentOrganization?.id === 'string')
241
241
  ? { 'parentOrganization.id': { $exists: true, $eq: parentOrganization.id } }
242
- : undefined), Object.assign(Object.assign(Object.assign(Object.assign({ name: screeningRoom.name }, (screeningRoom.address !== undefined && screeningRoom.address !== null)
242
+ : undefined
243
+ },
244
+ // 限られた属性のみ更新する
245
+ {
246
+ name: screeningRoom.name,
247
+ ...(screeningRoom.address !== undefined && screeningRoom.address !== null)
243
248
  ? { address: screeningRoom.address }
244
- : undefined), (typeof screeningRoom.openSeatingAllowed === 'boolean')
249
+ : undefined,
250
+ ...(typeof screeningRoom.openSeatingAllowed === 'boolean')
245
251
  ? { openSeatingAllowed: screeningRoom.openSeatingAllowed }
246
- : undefined), (Array.isArray(screeningRoom.additionalProperty))
252
+ : undefined,
253
+ ...(Array.isArray(screeningRoom.additionalProperty))
247
254
  ? { additionalProperty: screeningRoom.additionalProperty }
248
- : undefined), (($unset === null || $unset === void 0 ? void 0 : $unset['containsPlace.$[screeningRoom].openSeatingAllowed']) === 1
255
+ : undefined,
256
+ ...($unset?.['containsPlace.$[screeningRoom].openSeatingAllowed'] === 1
249
257
  || $unset.openSeatingAllowed === 1)
250
258
  ? {
251
259
  $unset: {
252
260
  openSeatingAllowed: 1
253
261
  }
254
262
  }
255
- : undefined), {
256
- new: true,
257
- projection: { 'containedInPlace.id': 1, typeOf: 1 }
263
+ : undefined
264
+ }, {
265
+ new: true,
266
+ projection: { 'containedInPlace.id': 1, typeOf: 1 }
267
+ })
268
+ .exec();
269
+ if (doc === null) {
270
+ throw new factory.errors.NotFound(factory.placeType.ScreeningRoom);
271
+ }
272
+ return doc.toObject();
273
+ }
274
+ async updateScreeningRoomsByContainedInPlaceId(screeningRoom) {
275
+ if (typeof screeningRoom.containedInPlace.name?.ja === 'string') {
276
+ await this.placeModel.updateMany({
277
+ typeOf: { $eq: factory.placeType.ScreeningRoom },
278
+ 'project.id': { $eq: screeningRoom.project.id },
279
+ 'containedInPlace.id': { $exists: true, $eq: screeningRoom.containedInPlace.id }
280
+ }, {
281
+ 'containedInPlace.name': screeningRoom.containedInPlace.name
258
282
  })
259
283
  .exec();
260
- if (doc === null) {
261
- throw new factory.errors.NotFound(factory.placeType.ScreeningRoom);
262
- }
263
- return doc.toObject();
264
- });
265
- }
266
- updateScreeningRoomsByContainedInPlaceId(screeningRoom) {
267
- return __awaiter(this, void 0, void 0, function* () {
268
- var _a;
269
- if (typeof ((_a = screeningRoom.containedInPlace.name) === null || _a === void 0 ? void 0 : _a.ja) === 'string') {
270
- yield this.placeModel.updateMany({
271
- typeOf: { $eq: factory.placeType.ScreeningRoom },
272
- 'project.id': { $eq: screeningRoom.project.id },
273
- 'containedInPlace.id': { $exists: true, $eq: screeningRoom.containedInPlace.id }
274
- }, {
275
- 'containedInPlace.name': screeningRoom.containedInPlace.name
276
- })
277
- .exec();
278
- }
279
- });
284
+ }
280
285
  }
281
286
  /**
282
287
  * コードをキーにして冪等作成
283
288
  * 2026-01-12~
284
289
  */
285
- upsertRoomsByBranchCode(params, options) {
286
- return __awaiter(this, void 0, void 0, function* () {
287
- const { project, parentOrganization, movieTheaterId } = options;
288
- // 施設存在確認
289
- const movieTheater = yield this.civicStructureModel.findOne(Object.assign({ typeOf: { $eq: factory.placeType.MovieTheater }, 'project.id': { $eq: project.id }, _id: { $eq: movieTheaterId } }, (typeof (parentOrganization === null || parentOrganization === void 0 ? void 0 : parentOrganization.id) === 'string')
290
+ async upsertRoomsByBranchCode(params, options) {
291
+ const { project, parentOrganization, movieTheaterId } = options;
292
+ // 施設存在確認
293
+ const movieTheater = await this.civicStructureModel.findOne({
294
+ typeOf: { $eq: factory.placeType.MovieTheater },
295
+ 'project.id': { $eq: project.id },
296
+ _id: { $eq: movieTheaterId },
297
+ ...(typeof parentOrganization?.id === 'string')
290
298
  ? { 'parentOrganization.id': { $exists: true, $eq: parentOrganization.id } }
291
- : undefined), { _id: 0, id: { $toString: '$_id' }, typeOf: 1, branchCode: 1, name: 1, parentOrganization: 1 })
292
- .lean()
293
- .exec();
294
- if (movieTheater === null) {
295
- throw new factory.errors.NotFound(factory.placeType.MovieTheater);
296
- }
297
- const containedInPlace = {
298
- id: movieTheater.id,
299
- typeOf: movieTheater.typeOf,
300
- branchCode: movieTheater.branchCode,
301
- name: movieTheater.name
302
- };
303
- const bulkWriteOps = [];
304
- if (Array.isArray(params)) {
305
- params.forEach(({ $set, $unset }) => {
306
- const { branchCode } = $set, setFields = __rest($set, ["branchCode"]);
307
- if (typeof branchCode !== 'string' || branchCode === '') {
308
- throw new factory.errors.ArgumentNull('branchCode');
309
- }
310
- // リソースのユニークネスを保証するfilter
311
- const filter = {
312
- typeOf: { $eq: factory.placeType.ScreeningRoom },
313
- 'project.id': { $eq: project.id },
314
- 'containedInPlace.id': { $eq: movieTheaterId },
315
- branchCode: { $eq: branchCode }
316
- };
317
- const initialRoom = {
318
- typeOf: factory.placeType.ScreeningRoom,
319
- project: { id: project.id, typeOf: factory.organizationType.Project },
320
- branchCode,
321
- containedInPlace,
322
- containsPlace: [],
323
- parentOrganization: movieTheater.parentOrganization
324
- };
325
- const setOnInsert = initialRoom;
326
- const update = Object.assign({ $setOnInsert: setOnInsert, $set: setFields }, ($unset !== undefined) ? { $unset } : undefined);
327
- const updateOne = {
328
- filter,
329
- update,
330
- upsert: true
331
- };
332
- bulkWriteOps.push({ updateOne });
333
- });
334
- }
335
- if (bulkWriteOps.length > 0) {
336
- const bulkWriteResult = yield this.placeModel.bulkWrite(bulkWriteOps, { ordered: false });
337
- return { bulkWriteResult };
338
- }
339
- return {};
340
- });
299
+ : undefined
300
+ }, { _id: 0, id: { $toString: '$_id' }, typeOf: 1, branchCode: 1, name: 1, parentOrganization: 1 })
301
+ .lean()
302
+ .exec();
303
+ if (movieTheater === null) {
304
+ throw new factory.errors.NotFound(factory.placeType.MovieTheater);
305
+ }
306
+ const containedInPlace = {
307
+ id: movieTheater.id,
308
+ typeOf: movieTheater.typeOf,
309
+ branchCode: movieTheater.branchCode,
310
+ name: movieTheater.name
311
+ };
312
+ const bulkWriteOps = [];
313
+ if (Array.isArray(params)) {
314
+ params.forEach(({ $set, $unset }) => {
315
+ const { branchCode, ...setFields } = $set;
316
+ if (typeof branchCode !== 'string' || branchCode === '') {
317
+ throw new factory.errors.ArgumentNull('branchCode');
318
+ }
319
+ // リソースのユニークネスを保証するfilter
320
+ const filter = {
321
+ typeOf: { $eq: factory.placeType.ScreeningRoom },
322
+ 'project.id': { $eq: project.id },
323
+ 'containedInPlace.id': { $eq: movieTheaterId },
324
+ branchCode: { $eq: branchCode }
325
+ };
326
+ const initialRoom = {
327
+ typeOf: factory.placeType.ScreeningRoom,
328
+ project: { id: project.id, typeOf: factory.organizationType.Project },
329
+ branchCode,
330
+ containedInPlace,
331
+ containsPlace: [],
332
+ parentOrganization: movieTheater.parentOrganization
333
+ };
334
+ const setOnInsert = initialRoom;
335
+ const update = {
336
+ $setOnInsert: setOnInsert,
337
+ $set: setFields,
338
+ ...($unset !== undefined) ? { $unset } : undefined
339
+ };
340
+ const updateOne = {
341
+ filter,
342
+ update,
343
+ upsert: true
344
+ };
345
+ bulkWriteOps.push({ updateOne });
346
+ });
347
+ }
348
+ if (bulkWriteOps.length > 0) {
349
+ const bulkWriteResult = await this.placeModel.bulkWrite(bulkWriteOps, { ordered: false });
350
+ return { bulkWriteResult };
351
+ }
352
+ return {};
341
353
  }
342
- deleteRoomByBranchCode(screeningRoom, options) {
343
- return __awaiter(this, void 0, void 0, function* () {
344
- const { project, parentOrganization, movieTheaterCode } = options;
345
- const doc = yield this.placeModel.findOneAndDelete(Object.assign({ typeOf: { $eq: factory.placeType.ScreeningRoom }, 'project.id': { $eq: project.id }, 'containedInPlace.branchCode': { $exists: true, $eq: movieTheaterCode }, branchCode: screeningRoom.branchCode }, (typeof (parentOrganization === null || parentOrganization === void 0 ? void 0 : parentOrganization.id) === 'string')
354
+ async deleteRoomByBranchCode(screeningRoom, options) {
355
+ const { project, parentOrganization, movieTheaterCode } = options;
356
+ const doc = await this.placeModel.findOneAndDelete({
357
+ typeOf: { $eq: factory.placeType.ScreeningRoom },
358
+ 'project.id': { $eq: project.id },
359
+ 'containedInPlace.branchCode': { $exists: true, $eq: movieTheaterCode },
360
+ branchCode: screeningRoom.branchCode,
361
+ ...(typeof parentOrganization?.id === 'string')
346
362
  ? { 'parentOrganization.id': { $exists: true, $eq: parentOrganization.id } }
347
- : undefined), {
348
- projection: { 'containedInPlace.id': 1, typeOf: 1 }
349
- })
350
- .exec();
351
- if (doc === null) {
352
- throw new factory.errors.NotFound(factory.placeType.ScreeningRoom);
353
- }
354
- return doc.toObject();
355
- });
363
+ : undefined
364
+ }, {
365
+ projection: { 'containedInPlace.id': 1, typeOf: 1 }
366
+ })
367
+ .exec();
368
+ if (doc === null) {
369
+ throw new factory.errors.NotFound(factory.placeType.ScreeningRoom);
370
+ }
371
+ return doc.toObject();
356
372
  }
357
- deleteScreeningRoomsByMovieTheaterId(params) {
358
- return __awaiter(this, void 0, void 0, function* () {
359
- return this.placeModel.deleteMany({
360
- typeOf: { $eq: factory.placeType.ScreeningRoom },
361
- 'project.id': { $eq: params.project.id },
362
- 'containedInPlace.id': { $exists: true, $eq: params.containedInPlace.id }
363
- })
364
- .exec();
365
- });
373
+ async deleteScreeningRoomsByMovieTheaterId(params) {
374
+ return this.placeModel.deleteMany({
375
+ typeOf: { $eq: factory.placeType.ScreeningRoom },
376
+ 'project.id': { $eq: params.project.id },
377
+ 'containedInPlace.id': { $exists: true, $eq: params.containedInPlace.id }
378
+ })
379
+ .exec();
366
380
  }
367
- searchScreeningRooms(searchConditions) {
368
- return __awaiter(this, void 0, void 0, function* () {
369
- var _a, _b;
370
- const aggregate = this.placeModel.aggregate([
371
- { $sort: { branchCode: factory.sortType.Ascending } },
372
- ...ScreeningRoomRepo.CREATE_ROOM_MONGO_CONDITIONS(searchConditions),
373
- {
374
- $project: Object.assign(Object.assign({ _id: 0, typeOf: '$typeOf', branchCode: '$branchCode', name: '$name', address: '$address', containedInPlace: {
375
- id: '$containedInPlace.id',
376
- typeOf: '$containedInPlace.typeOf',
377
- branchCode: '$containedInPlace.branchCode',
378
- name: '$containedInPlace.name'
379
- }, openSeatingAllowed: '$openSeatingAllowed', additionalProperty: '$additionalProperty', maximumAttendeeCapacity: '$maximumAttendeeCapacity' }, (((_a = searchConditions.$projection) === null || _a === void 0 ? void 0 : _a.sectionCount) === 1)
381
+ async searchScreeningRooms(searchConditions) {
382
+ const aggregate = this.placeModel.aggregate([
383
+ { $sort: { branchCode: factory.sortType.Ascending } },
384
+ ...ScreeningRoomRepo.CREATE_ROOM_MONGO_CONDITIONS(searchConditions),
385
+ {
386
+ $project: {
387
+ _id: 0,
388
+ typeOf: '$typeOf',
389
+ branchCode: '$branchCode',
390
+ name: '$name',
391
+ address: '$address',
392
+ containedInPlace: {
393
+ id: '$containedInPlace.id',
394
+ typeOf: '$containedInPlace.typeOf',
395
+ branchCode: '$containedInPlace.branchCode',
396
+ name: '$containedInPlace.name'
397
+ },
398
+ openSeatingAllowed: '$openSeatingAllowed',
399
+ additionalProperty: '$additionalProperty',
400
+ maximumAttendeeCapacity: '$maximumAttendeeCapacity',
401
+ ...(searchConditions.$projection?.sectionCount === 1)
380
402
  ? {
381
403
  sectionCount: {
382
404
  $cond: {
@@ -386,7 +408,8 @@ class ScreeningRoomRepo {
386
408
  }
387
409
  }
388
410
  }
389
- : undefined), (((_b = searchConditions.$projection) === null || _b === void 0 ? void 0 : _b.seatCount) === 1)
411
+ : undefined,
412
+ ...(searchConditions.$projection?.seatCount === 1)
390
413
  ? {
391
414
  seatCount: {
392
415
  $sum: {
@@ -403,119 +426,110 @@ class ScreeningRoomRepo {
403
426
  }
404
427
  }
405
428
  }
406
- : undefined)
429
+ : undefined
407
430
  }
408
- ]);
409
- // tslint:disable-next-line:no-single-line-block-comment
410
- /* istanbul ignore else */
411
- if (typeof searchConditions.limit === 'number' && searchConditions.limit > 0) {
412
- const page = (typeof searchConditions.page === 'number' && searchConditions.page > 0) ? searchConditions.page : 1;
413
- aggregate.limit(searchConditions.limit * page)
414
- .skip(searchConditions.limit * (page - 1));
415
431
  }
416
- return aggregate
417
- .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
418
- .exec();
419
- });
432
+ ]);
433
+ /* istanbul ignore else */
434
+ if (typeof searchConditions.limit === 'number' && searchConditions.limit > 0) {
435
+ const page = (typeof searchConditions.page === 'number' && searchConditions.page > 0) ? searchConditions.page : 1;
436
+ aggregate.limit(searchConditions.limit * page)
437
+ .skip(searchConditions.limit * (page - 1));
438
+ }
439
+ return aggregate
440
+ .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
441
+ .exec();
420
442
  }
421
- findRooms(params) {
422
- return __awaiter(this, void 0, void 0, function* () {
423
- const aggregate = this.placeModel.aggregate([
424
- ...ScreeningRoomRepo.CREATE_ROOM_MONGO_CONDITIONS(params),
425
- {
426
- $project: {
427
- _id: 0,
428
- branchCode: '$branchCode',
429
- name: '$name',
430
- address: '$address',
431
- openSeatingAllowed: '$openSeatingAllowed',
432
- additionalProperty: '$additionalProperty',
433
- maximumAttendeeCapacity: '$maximumAttendeeCapacity'
434
- }
435
- },
436
- { $sort: { branchCode: factory.sortType.Ascending } }
437
- ]);
438
- const { limit, page } = params;
439
- if (typeof limit === 'number' && limit > 0) {
440
- const pageMustBePositive = (typeof page === 'number' && page > 0) ? page : 1;
441
- aggregate.skip(limit * (pageMustBePositive - 1))
442
- .limit(limit);
443
- }
444
- return aggregate
445
- .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
446
- .exec();
447
- });
443
+ async findRooms(params) {
444
+ const aggregate = this.placeModel.aggregate([
445
+ ...ScreeningRoomRepo.CREATE_ROOM_MONGO_CONDITIONS(params),
446
+ {
447
+ $project: {
448
+ _id: 0,
449
+ branchCode: '$branchCode',
450
+ name: '$name',
451
+ address: '$address',
452
+ openSeatingAllowed: '$openSeatingAllowed',
453
+ additionalProperty: '$additionalProperty',
454
+ maximumAttendeeCapacity: '$maximumAttendeeCapacity'
455
+ }
456
+ },
457
+ { $sort: { branchCode: factory.sortType.Ascending } }
458
+ ]);
459
+ const { limit, page } = params;
460
+ if (typeof limit === 'number' && limit > 0) {
461
+ const pageMustBePositive = (typeof page === 'number' && page > 0) ? page : 1;
462
+ aggregate.skip(limit * (pageMustBePositive - 1))
463
+ .limit(limit);
464
+ }
465
+ return aggregate
466
+ .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
467
+ .exec();
448
468
  }
449
469
  /**
450
470
  * セクションと座席も含めたひとつのルームを取得する
451
471
  */
452
- findScreeningRoomsByBranchCode(params) {
453
- return __awaiter(this, void 0, void 0, function* () {
454
- const matchStages = [
455
- { $match: { typeOf: { $eq: factory.placeType.ScreeningRoom } } },
456
- { $match: { 'project.id': { $eq: params.project.id } } },
457
- { $match: { 'containedInPlace.id': { $exists: true, $eq: params.containedInPlace.id.$eq } } },
458
- { $match: { branchCode: { $eq: params.branchCode.$eq } } }
459
- ];
460
- const aggregate = this.placeModel.aggregate([
461
- ...matchStages,
462
- {
463
- $project: {
464
- _id: 0,
465
- typeOf: '$typeOf',
466
- branchCode: '$branchCode',
467
- name: '$name',
468
- containsPlace: '$containsPlace',
469
- seatCount: {
470
- $sum: {
471
- $map: {
472
- input: '$containsPlace',
473
- in: {
474
- $cond: {
475
- if: { $isArray: '$$this.containsPlace' },
476
- then: { $size: '$$this.containsPlace' },
477
- else: 0
478
- }
472
+ async findScreeningRoomsByBranchCode(params) {
473
+ const matchStages = [
474
+ { $match: { typeOf: { $eq: factory.placeType.ScreeningRoom } } },
475
+ { $match: { 'project.id': { $eq: params.project.id } } },
476
+ { $match: { 'containedInPlace.id': { $exists: true, $eq: params.containedInPlace.id.$eq } } },
477
+ { $match: { branchCode: { $eq: params.branchCode.$eq } } }
478
+ ];
479
+ const aggregate = this.placeModel.aggregate([
480
+ ...matchStages,
481
+ {
482
+ $project: {
483
+ _id: 0,
484
+ typeOf: '$typeOf',
485
+ branchCode: '$branchCode',
486
+ name: '$name',
487
+ containsPlace: '$containsPlace',
488
+ seatCount: {
489
+ $sum: {
490
+ $map: {
491
+ input: '$containsPlace',
492
+ in: {
493
+ $cond: {
494
+ if: { $isArray: '$$this.containsPlace' },
495
+ then: { $size: '$$this.containsPlace' },
496
+ else: 0
479
497
  }
480
498
  }
481
499
  }
482
500
  }
483
501
  }
484
502
  }
485
- ]);
486
- const docs = yield aggregate.limit(1)
487
- .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
488
- .exec();
489
- if (docs.length < 1) {
490
- throw new factory.errors.NotFound(factory.placeType.ScreeningRoom);
491
503
  }
492
- return docs[0];
493
- });
504
+ ]);
505
+ const docs = await aggregate.limit(1)
506
+ .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
507
+ .exec();
508
+ if (docs.length < 1) {
509
+ throw new factory.errors.NotFound(factory.placeType.ScreeningRoom);
510
+ }
511
+ return docs[0];
494
512
  }
495
513
  /**
496
514
  * 販売者に属するルームを全削除
497
515
  */
498
- deleteScreeningRoomsByParentOrganizationId(params) {
499
- return __awaiter(this, void 0, void 0, function* () {
500
- return this.placeModel.deleteMany({
501
- typeOf: { $eq: factory.placeType.ScreeningRoom },
502
- 'project.id': { $eq: params.project.id },
503
- 'parentOrganization.id': { $exists: true, $eq: params.parentOrganization.id }
504
- })
505
- .exec();
506
- });
516
+ async deleteScreeningRoomsByParentOrganizationId(params) {
517
+ return this.placeModel.deleteMany({
518
+ typeOf: { $eq: factory.placeType.ScreeningRoom },
519
+ 'project.id': { $eq: params.project.id },
520
+ 'parentOrganization.id': { $exists: true, $eq: params.parentOrganization.id }
521
+ })
522
+ .exec();
507
523
  }
508
524
  /**
509
525
  * プロジェクトに属するルームを全削除
510
526
  */
511
- deleteScreeningRoomsByProject(params) {
512
- return __awaiter(this, void 0, void 0, function* () {
513
- yield this.placeModel.deleteMany({
514
- typeOf: { $eq: factory.placeType.ScreeningRoom },
515
- 'project.id': { $eq: params.project.id }
516
- })
517
- .exec();
518
- });
527
+ async deleteScreeningRoomsByProject(params) {
528
+ await this.placeModel.deleteMany({
529
+ typeOf: { $eq: factory.placeType.ScreeningRoom },
530
+ 'project.id': { $eq: params.project.id }
531
+ })
532
+ .exec();
519
533
  }
520
534
  getCursor(conditions, projection) {
521
535
  return this.placeModel.find(conditions, projection)