@chevre/domain 21.2.0-alpha.15 → 21.2.0-alpha.150

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 (308) hide show
  1. package/example/src/chevre/aggregateEventReservation.ts +1 -1
  2. package/example/src/chevre/aggregation/aggregateSystem.ts +85 -27
  3. package/example/src/chevre/countDelayedTasks.ts +7 -2
  4. package/example/src/chevre/deleteTasksByName.ts +10 -2
  5. package/example/src/chevre/findScreeningRoomsByBranchCode.ts +4 -3
  6. package/example/src/chevre/importEventsFromCOA.ts +3 -4
  7. package/example/src/chevre/lockStockHolder.ts +5 -2
  8. package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
  9. package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
  10. package/example/src/chevre/processPay.ts +5 -1
  11. package/example/src/chevre/processRegisterMembership.ts +8 -4
  12. package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
  13. package/example/src/chevre/processReserve.ts +5 -2
  14. package/example/src/chevre/saveTasks.ts +13 -10
  15. package/example/src/chevre/searchAbortedTasks.ts +34 -0
  16. package/example/src/chevre/searchActions.ts +33 -0
  17. package/example/src/chevre/searchEventSeats.ts +5 -2
  18. package/example/src/chevre/searchHoldReservations.ts +38 -0
  19. package/example/src/chevre/searchPaymentServiceProviders.ts +38 -0
  20. package/example/src/chevre/searchPermissions.ts +54 -0
  21. package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
  22. package/example/src/chevre/searchScreeningRooms.ts +35 -0
  23. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  24. package/example/src/chevre/syncScreeningRooms.ts +21 -0
  25. package/example/src/chevre/syncScreeningRoomsAll.ts +41 -0
  26. package/example/src/chevre/task/executeTasks.ts +26 -0
  27. package/example/src/chevre/transaction/findCreditCard.ts +1 -1
  28. package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
  29. package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
  30. package/example/src/chevre/transaction/startExportTasks.ts +2 -1
  31. package/example/src/chevre/updateTransaction.ts +1 -1
  32. package/example/src/playOnMoment.ts +24 -0
  33. package/lib/chevre/credentials.d.ts +1 -0
  34. package/lib/chevre/credentials.js +2 -1
  35. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  36. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  37. package/lib/chevre/eventEmitter/task.d.ts +2 -1
  38. package/lib/chevre/eventEmitter/task.js +1 -4
  39. package/lib/chevre/eventEmitter/transaction.d.ts +1 -1
  40. package/lib/chevre/eventEmitter/transaction.js +1 -4
  41. package/lib/chevre/eventEmitter.d.ts +2 -1
  42. package/lib/chevre/eventEmitter.js +3 -1
  43. package/lib/chevre/index.d.ts +1 -1
  44. package/lib/chevre/index.js +2 -2
  45. package/lib/chevre/repo/account.js +3 -2
  46. package/lib/chevre/repo/accountTransaction.d.ts +3 -1
  47. package/lib/chevre/repo/accountTransaction.js +3 -2
  48. package/lib/chevre/repo/action.d.ts +42 -2
  49. package/lib/chevre/repo/action.js +130 -57
  50. package/lib/chevre/repo/additionalProperty.js +2 -1
  51. package/lib/chevre/repo/aggregation.d.ts +3 -0
  52. package/lib/chevre/repo/aggregation.js +3 -0
  53. package/lib/chevre/repo/assetTransaction.d.ts +23 -8
  54. package/lib/chevre/repo/assetTransaction.js +253 -80
  55. package/lib/chevre/repo/categoryCode.d.ts +1 -1
  56. package/lib/chevre/repo/categoryCode.js +37 -25
  57. package/lib/chevre/repo/code.js +3 -2
  58. package/lib/chevre/repo/comment.d.ts +4 -1
  59. package/lib/chevre/repo/comment.js +22 -6
  60. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  61. package/lib/chevre/repo/confirmationNumber.js +3 -15
  62. package/lib/chevre/repo/creativeWork.d.ts +2 -4
  63. package/lib/chevre/repo/creativeWork.js +35 -12
  64. package/lib/chevre/repo/customer.js +2 -1
  65. package/lib/chevre/repo/emailMessage.d.ts +1 -27
  66. package/lib/chevre/repo/emailMessage.js +2 -1
  67. package/lib/chevre/repo/event.d.ts +27 -1
  68. package/lib/chevre/repo/event.js +67 -33
  69. package/lib/chevre/repo/member.d.ts +14 -0
  70. package/lib/chevre/repo/member.js +31 -3
  71. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
  72. package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
  73. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -2
  74. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +29 -3
  75. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +31 -3
  76. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  77. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +13 -3
  78. package/lib/chevre/repo/mongoose/schemas/action.d.ts +43 -3
  79. package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
  80. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +17 -3
  81. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -2
  82. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +44 -3
  83. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
  84. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +19 -3
  85. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +25 -3
  87. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +27 -3
  88. package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
  89. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +43 -3
  90. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +25 -3
  91. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +21 -3
  92. package/lib/chevre/repo/mongoose/schemas/event.d.ts +71 -3
  93. package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
  94. package/lib/chevre/repo/mongoose/schemas/holdReservation.js +93 -0
  95. package/lib/chevre/repo/mongoose/schemas/member.d.ts +13 -3
  96. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +21 -3
  97. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +65 -3
  98. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +27 -3
  99. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  100. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  101. package/lib/chevre/repo/mongoose/schemas/order.d.ts +51 -3
  102. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  103. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +25 -3
  104. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
  105. package/lib/chevre/repo/mongoose/schemas/place.d.ts +55 -3
  106. package/lib/chevre/repo/mongoose/schemas/place.js +16 -1
  107. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +29 -3
  108. package/lib/chevre/repo/mongoose/schemas/product.d.ts +31 -3
  109. package/lib/chevre/repo/mongoose/schemas/product.js +6 -0
  110. package/lib/chevre/repo/mongoose/schemas/project.d.ts +23 -3
  111. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -5
  112. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  113. package/lib/chevre/repo/mongoose/schemas/role.d.ts +11 -3
  114. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +31 -3
  115. package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
  116. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +11 -3
  117. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
  118. package/lib/chevre/repo/mongoose/schemas/task.d.ts +30 -3
  119. package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
  120. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +21 -3
  121. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +40 -3
  122. package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
  123. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +11 -3
  124. package/lib/chevre/repo/offer.js +3 -2
  125. package/lib/chevre/repo/offerCatalog.js +0 -27
  126. package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
  127. package/lib/chevre/repo/offerItemCondition.js +121 -0
  128. package/lib/chevre/repo/order.d.ts +55 -3
  129. package/lib/chevre/repo/order.js +62 -10
  130. package/lib/chevre/repo/ownershipInfo.js +2 -7
  131. package/lib/chevre/repo/place.d.ts +189 -27
  132. package/lib/chevre/repo/place.js +1696 -702
  133. package/lib/chevre/repo/priceSpecification.js +3 -2
  134. package/lib/chevre/repo/product.d.ts +18 -3
  135. package/lib/chevre/repo/product.js +139 -5
  136. package/lib/chevre/repo/project.js +2 -1
  137. package/lib/chevre/repo/reservation.d.ts +20 -4
  138. package/lib/chevre/repo/reservation.js +40 -59
  139. package/lib/chevre/repo/role.d.ts +7 -0
  140. package/lib/chevre/repo/role.js +39 -2
  141. package/lib/chevre/repo/seller.d.ts +1 -1
  142. package/lib/chevre/repo/seller.js +44 -23
  143. package/lib/chevre/repo/serviceOutput.js +2 -1
  144. package/lib/chevre/repo/stockHolder.d.ts +143 -7
  145. package/lib/chevre/repo/stockHolder.js +622 -104
  146. package/lib/chevre/repo/task.d.ts +42 -2
  147. package/lib/chevre/repo/task.js +68 -20
  148. package/lib/chevre/repo/transaction.d.ts +21 -2
  149. package/lib/chevre/repo/transaction.js +160 -48
  150. package/lib/chevre/repo/trip.js +2 -1
  151. package/lib/chevre/repository.d.ts +5 -2
  152. package/lib/chevre/repository.js +8 -4
  153. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +18 -8
  154. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +19 -8
  155. package/lib/chevre/service/aggregation/system.d.ts +110 -23
  156. package/lib/chevre/service/aggregation/system.js +213 -91
  157. package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
  158. package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -24
  159. package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
  160. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  161. package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
  162. package/lib/chevre/service/assetTransaction/pay.js +20 -34
  163. package/lib/chevre/service/assetTransaction/refund.js +2 -24
  164. package/lib/chevre/service/assetTransaction/registerService.js +1 -25
  165. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
  166. package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
  167. package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
  168. package/lib/chevre/service/assetTransaction/reserve.js +93 -70
  169. package/lib/chevre/service/assetTransaction.d.ts +6 -0
  170. package/lib/chevre/service/assetTransaction.js +9 -4
  171. package/lib/chevre/service/event.d.ts +3 -0
  172. package/lib/chevre/service/event.js +55 -22
  173. package/lib/chevre/service/iam.d.ts +6 -2
  174. package/lib/chevre/service/iam.js +23 -9
  175. package/lib/chevre/service/notification/factory.js +2 -2
  176. package/lib/chevre/service/notification.d.ts +3 -1
  177. package/lib/chevre/service/notification.js +41 -7
  178. package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
  179. package/lib/chevre/service/offer/event/authorize.js +8 -2
  180. package/lib/chevre/service/offer/event/factory.d.ts +3 -0
  181. package/lib/chevre/service/offer/event/factory.js +16 -5
  182. package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
  183. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  184. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  185. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
  186. package/lib/chevre/service/offer/product.js +2 -2
  187. package/lib/chevre/service/offer.d.ts +16 -8
  188. package/lib/chevre/service/offer.js +72 -9
  189. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  190. package/lib/chevre/service/order/deleteOrder.js +8 -8
  191. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +5 -2
  192. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
  193. package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
  194. package/lib/chevre/service/order/onOrderUpdated.d.ts +16 -0
  195. package/lib/chevre/service/order/onOrderUpdated.js +22 -0
  196. package/lib/chevre/service/order/placeOrder.d.ts +1 -0
  197. package/lib/chevre/service/order/placeOrder.js +41 -24
  198. package/lib/chevre/service/order/returnOrder.d.ts +1 -0
  199. package/lib/chevre/service/order/returnOrder.js +7 -12
  200. package/lib/chevre/service/order/sendOrder.d.ts +1 -0
  201. package/lib/chevre/service/order/sendOrder.js +7 -10
  202. package/lib/chevre/service/order.d.ts +2 -1
  203. package/lib/chevre/service/order.js +3 -1
  204. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  205. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  206. package/lib/chevre/service/payment/any.d.ts +9 -5
  207. package/lib/chevre/service/payment/any.js +80 -18
  208. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  209. package/lib/chevre/service/payment/creditCard.js +23 -17
  210. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
  211. package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
  212. package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
  213. package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
  214. package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
  215. package/lib/chevre/service/payment/movieTicket/validation.js +65 -37
  216. package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
  217. package/lib/chevre/service/payment/movieTicket.js +7 -6
  218. package/lib/chevre/service/product.js +1 -5
  219. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  220. package/lib/chevre/service/report/telemetry.js +21 -24
  221. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
  222. package/lib/chevre/service/reserve/cancelReservation.js +162 -142
  223. package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
  224. package/lib/chevre/service/reserve/checkInReservation.js +77 -3
  225. package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
  226. package/lib/chevre/service/reserve/confirmReservation.js +133 -58
  227. package/lib/chevre/service/reserve/factory.d.ts +1 -1
  228. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
  229. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
  230. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  231. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  232. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  233. package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
  234. package/lib/chevre/service/reserve/useReservation.js +61 -71
  235. package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
  236. package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
  237. package/lib/chevre/service/reserve.d.ts +3 -2
  238. package/lib/chevre/service/reserve.js +4 -2
  239. package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
  240. package/lib/chevre/service/task/cancelPendingReservation.js +6 -2
  241. package/lib/chevre/service/task/cancelReservation.js +1 -1
  242. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  243. package/lib/chevre/service/task/deleteTransaction.js +10 -8
  244. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  245. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
  246. package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
  247. package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
  248. package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
  249. package/lib/chevre/service/task/onResourceUpdated.d.ts +10 -0
  250. package/lib/chevre/service/task/onResourceUpdated.js +418 -0
  251. package/lib/chevre/service/task/placeOrder.js +1 -1
  252. package/lib/chevre/service/task/reserve.js +10 -7
  253. package/lib/chevre/service/task/returnOrder.js +1 -1
  254. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  255. package/lib/chevre/service/task/sendOrder.js +1 -1
  256. package/lib/chevre/service/task/syncScreeningRooms.d.ts +7 -0
  257. package/lib/chevre/service/task/syncScreeningRooms.js +24 -0
  258. package/lib/chevre/service/task/useReservation.d.ts +7 -0
  259. package/lib/chevre/service/task/useReservation.js +36 -0
  260. package/lib/chevre/service/task/voidReserveTransaction.js +4 -2
  261. package/lib/chevre/service/task.d.ts +6 -0
  262. package/lib/chevre/service/task.js +22 -4
  263. package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
  264. package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
  265. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
  266. package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +1 -1
  267. package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
  268. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
  269. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
  270. package/lib/chevre/service/transaction/moneyTransfer.js +10 -13
  271. package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
  272. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
  273. package/lib/chevre/service/transaction/orderProgramMembership.js +7 -3
  274. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
  275. package/lib/chevre/service/transaction/placeOrder.js +1 -5
  276. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
  277. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
  278. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  279. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  280. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  281. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  282. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  283. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
  284. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  285. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  286. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  287. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  288. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  289. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  290. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
  291. package/lib/chevre/service/transaction/placeOrderInProgress.js +28 -15
  292. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
  293. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
  294. package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
  295. package/lib/chevre/service/transaction/returnOrder.js +228 -36
  296. package/lib/chevre/service/transaction.d.ts +7 -13
  297. package/lib/chevre/service/transaction.js +12 -139
  298. package/lib/chevre/settings.d.ts +15 -2
  299. package/lib/chevre/settings.js +58 -7
  300. package/package.json +5 -5
  301. package/example/src/chevre/createManyEventsIfNotExist.ts +0 -205
  302. package/example/src/chevre/eventCatalog2eventService.ts +0 -123
  303. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  304. package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
  305. package/example/src/chevre/migrateStockHolderKeys.ts +0 -89
  306. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  307. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  308. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.MongoRepository = void 0;
24
24
  const seller_1 = require("./mongoose/schemas/seller");
25
25
  const factory = require("../factory");
26
+ const settings_1 = require("../settings");
26
27
  /**
27
28
  * 販売者リポジトリ
28
29
  */
@@ -32,21 +33,12 @@ class MongoRepository {
32
33
  }
33
34
  // tslint:disable-next-line:max-func-body-length
34
35
  static CREATE_MONGO_CONDITIONS(params) {
35
- var _a, _b, _c, _d, _e, _f;
36
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
36
37
  // MongoDB検索条件
37
38
  const andConditions = [];
38
- // tslint:disable-next-line:no-single-line-block-comment
39
- /* istanbul ignore else */
40
- if (params.project !== undefined) {
41
- if (params.project.id !== undefined && params.project.id !== null) {
42
- if (typeof params.project.id.$eq === 'string') {
43
- andConditions.push({
44
- 'project.id': {
45
- $eq: params.project.id.$eq
46
- }
47
- });
48
- }
49
- }
39
+ const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
40
+ if (typeof projectIdEq === 'string') {
41
+ andConditions.push({ 'project.id': { $eq: projectIdEq } });
50
42
  }
51
43
  const nameRegex = params.name;
52
44
  if (typeof nameRegex === 'string' && nameRegex.length > 0) {
@@ -67,7 +59,7 @@ class MongoRepository {
67
59
  ]
68
60
  });
69
61
  }
70
- const branchCodeEq = (_a = params.branchCode) === null || _a === void 0 ? void 0 : _a.$eq;
62
+ const branchCodeEq = (_c = params.branchCode) === null || _c === void 0 ? void 0 : _c.$eq;
71
63
  if (typeof branchCodeEq === 'string') {
72
64
  andConditions.push({
73
65
  branchCode: {
@@ -75,7 +67,7 @@ class MongoRepository {
75
67
  }
76
68
  });
77
69
  }
78
- const branchCodeRegex = (_b = params.branchCode) === null || _b === void 0 ? void 0 : _b.$regex;
70
+ const branchCodeRegex = (_d = params.branchCode) === null || _d === void 0 ? void 0 : _d.$regex;
79
71
  if (typeof branchCodeRegex === 'string' && branchCodeRegex.length > 0) {
80
72
  andConditions.push({
81
73
  branchCode: {
@@ -83,7 +75,7 @@ class MongoRepository {
83
75
  }
84
76
  });
85
77
  }
86
- const additionalPropertyAll = (_c = params.additionalProperty) === null || _c === void 0 ? void 0 : _c.$all;
78
+ const additionalPropertyAll = (_e = params.additionalProperty) === null || _e === void 0 ? void 0 : _e.$all;
87
79
  if (Array.isArray(additionalPropertyAll)) {
88
80
  andConditions.push({
89
81
  additionalProperty: {
@@ -92,7 +84,7 @@ class MongoRepository {
92
84
  }
93
85
  });
94
86
  }
95
- const additionalPropertyIn = (_d = params.additionalProperty) === null || _d === void 0 ? void 0 : _d.$in;
87
+ const additionalPropertyIn = (_f = params.additionalProperty) === null || _f === void 0 ? void 0 : _f.$in;
96
88
  if (Array.isArray(additionalPropertyIn)) {
97
89
  andConditions.push({
98
90
  additionalProperty: {
@@ -101,7 +93,7 @@ class MongoRepository {
101
93
  }
102
94
  });
103
95
  }
104
- const additionalPropertyNin = (_e = params.additionalProperty) === null || _e === void 0 ? void 0 : _e.$nin;
96
+ const additionalPropertyNin = (_g = params.additionalProperty) === null || _g === void 0 ? void 0 : _g.$nin;
105
97
  if (Array.isArray(additionalPropertyNin)) {
106
98
  andConditions.push({
107
99
  additionalProperty: {
@@ -109,7 +101,7 @@ class MongoRepository {
109
101
  }
110
102
  });
111
103
  }
112
- const additionalPropertyElemMatch = (_f = params.additionalProperty) === null || _f === void 0 ? void 0 : _f.$elemMatch;
104
+ const additionalPropertyElemMatch = (_h = params.additionalProperty) === null || _h === void 0 ? void 0 : _h.$elemMatch;
113
105
  if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
114
106
  andConditions.push({
115
107
  additionalProperty: {
@@ -118,14 +110,43 @@ class MongoRepository {
118
110
  }
119
111
  });
120
112
  }
113
+ const hasMerchantReturnPolicyItemConditionIdEq = (_l = (_k = (_j = params.hasMerchantReturnPolicy) === null || _j === void 0 ? void 0 : _j.itemCondition) === null || _k === void 0 ? void 0 : _k.id) === null || _l === void 0 ? void 0 : _l.$eq;
114
+ if (typeof hasMerchantReturnPolicyItemConditionIdEq === 'string') {
115
+ andConditions.push({
116
+ 'hasMerchantReturnPolicy.itemCondition.id': {
117
+ $exists: true,
118
+ $eq: hasMerchantReturnPolicyItemConditionIdEq
119
+ }
120
+ });
121
+ }
121
122
  return andConditions;
122
123
  }
123
124
  /**
124
125
  * 特定販売者検索
125
126
  */
126
- findById(conditions, projection) {
127
+ findById(conditions,
128
+ // projection?: any
129
+ inclusion, exclusion) {
127
130
  return __awaiter(this, void 0, void 0, function* () {
128
- const doc = yield this.organizationModel.findOne({ _id: conditions.id }, Object.assign({ __v: 0, createdAt: 0, updatedAt: 0 }, projection))
131
+ let projection = {};
132
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
133
+ inclusion.forEach((field) => {
134
+ projection[field] = 1;
135
+ });
136
+ }
137
+ else {
138
+ projection = {
139
+ __v: 0,
140
+ createdAt: 0,
141
+ updatedAt: 0
142
+ };
143
+ if (Array.isArray(exclusion) && exclusion.length > 0) {
144
+ exclusion.forEach((field) => {
145
+ projection[field] = 0;
146
+ });
147
+ }
148
+ }
149
+ const doc = yield this.organizationModel.findOne({ _id: conditions.id }, projection)
129
150
  .exec();
130
151
  if (doc === null) {
131
152
  throw new factory.errors.NotFound(this.organizationModel.modelName);
@@ -160,7 +181,7 @@ class MongoRepository {
160
181
  return __awaiter(this, void 0, void 0, function* () {
161
182
  const conditions = MongoRepository.CREATE_MONGO_CONDITIONS(params);
162
183
  return this.organizationModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
163
- .setOptions({ maxTimeMS: 10000 })
184
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
164
185
  .exec();
165
186
  });
166
187
  }
@@ -182,7 +203,7 @@ class MongoRepository {
182
203
  if (((_a = conditions.sort) === null || _a === void 0 ? void 0 : _a.branchCode) !== undefined) {
183
204
  query.sort({ branchCode: conditions.sort.branchCode });
184
205
  }
185
- return query.setOptions({ maxTimeMS: 10000 })
206
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
186
207
  .exec()
187
208
  .then((docs) => docs.map((doc) => doc.toObject()));
188
209
  });
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = void 0;
13
13
  const serviceOutput_1 = require("./mongoose/schemas/serviceOutput");
14
14
  const factory = require("../factory");
15
+ const settings_1 = require("../settings");
15
16
  /**
16
17
  * サービスアウトプットリポジトリ
17
18
  */
@@ -128,7 +129,7 @@ class MongoRepository {
128
129
  // if (params.sort !== undefined) {
129
130
  // query.sort(params.sort);
130
131
  // }
131
- return query.setOptions({ maxTimeMS: 10000 })
132
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
132
133
  .exec()
133
134
  .then((docs) => docs.map((doc) => doc.toObject()));
134
135
  });
@@ -1,4 +1,6 @@
1
+ import { Connection } from 'mongoose';
1
2
  import { RedisClientType } from 'redis';
3
+ import * as factory from '../factory';
2
4
  export interface IOffer {
3
5
  itemOffered?: {
4
6
  serviceOutput?: {
@@ -12,18 +14,70 @@ export interface IOffer {
12
14
  seatNumber: string;
13
15
  }
14
16
  export interface ILockKey {
17
+ project: {
18
+ id: string;
19
+ };
15
20
  eventId: string;
16
21
  startDate: Date;
22
+ hasTicketedSeat: boolean;
17
23
  offers: IOffer[];
18
24
  expires: Date;
19
25
  holder: string;
20
26
  }
21
27
  export interface IUnlockKey {
28
+ project: {
29
+ id: string;
30
+ };
22
31
  eventId: string;
23
32
  startDate: Date;
33
+ hasTicketedSeat: boolean;
24
34
  offer: IOffer;
35
+ holder: string;
25
36
  }
26
37
  export type IGetHolderResult = string | null;
38
+ export interface ISubReservation {
39
+ id?: string;
40
+ identifier: string;
41
+ reservedTicket?: {
42
+ ticketedSeat?: Pick<factory.reservation.ISeat<factory.reservationType>, 'seatNumber' | 'seatSection'>;
43
+ };
44
+ }
45
+ export interface IReservationPackage {
46
+ reservationNumber: string;
47
+ subReservation: ISubReservation[];
48
+ }
49
+ export interface IAggregateReservation {
50
+ project: {
51
+ id: string;
52
+ typeOf: factory.organizationType.Project;
53
+ };
54
+ typeOf: 'AggregateReservation';
55
+ reservationCount: number;
56
+ reservationFor: {
57
+ id: string;
58
+ startDate: Date;
59
+ };
60
+ reservations: IReservationPackage[];
61
+ }
62
+ export interface ISearchSubReservationResult {
63
+ reservationNumber: string;
64
+ identifier: string;
65
+ }
66
+ export interface ISearchResult {
67
+ reservationNumber: string;
68
+ identifier: string;
69
+ reservationFor: {
70
+ id: string;
71
+ startDate: Date;
72
+ aggregateReservation: {
73
+ reservationCount: number;
74
+ };
75
+ };
76
+ reservedTicket?: {
77
+ ticketedSeat?: Pick<factory.reservation.ISeat<factory.reservationType>, 'seatNumber' | 'seatSection'>;
78
+ };
79
+ objectSize?: number;
80
+ }
27
81
  /**
28
82
  * イベントストックホルダーリポジトリ
29
83
  */
@@ -31,9 +85,15 @@ export declare class StockHolderRepository {
31
85
  static KEY_PREFIX_NEW: string;
32
86
  static KEY_PREFIX: string;
33
87
  private readonly redisClient;
34
- constructor(redisClient: RedisClientType);
88
+ private readonly holdReservationModel;
89
+ constructor(redisClient: RedisClientType, connection: Connection);
35
90
  private static offer2field;
91
+ private static offer2subReservation;
36
92
  private static createKey;
93
+ /**
94
+ * 新リポジトリを使用するかどうか
95
+ */
96
+ private static useMongoose;
37
97
  /**
38
98
  * 座席をロックする(maxキャパシティチェック有)
39
99
  */
@@ -41,7 +101,12 @@ export declare class StockHolderRepository {
41
101
  /**
42
102
  * 座席をロックする
43
103
  */
44
- lock(lockKey: ILockKey): Promise<void>;
104
+ lock(lockKey: ILockKey & {
105
+ /**
106
+ * テスト目的の強制オプション
107
+ */
108
+ useMongooseForcibly?: boolean;
109
+ }): Promise<void>;
45
110
  /**
46
111
  * 座席ロックを解除する
47
112
  */
@@ -49,10 +114,6 @@ export declare class StockHolderRepository {
49
114
  /**
50
115
  * 空席でない座席を検索する
51
116
  */
52
- findUnavailableOffersByEventId(params: {
53
- eventId: string;
54
- startDate: Date;
55
- }): Promise<IOffer[]>;
56
117
  /**
57
118
  * 空席でない座席をカウントする
58
119
  */
@@ -60,20 +121,95 @@ export declare class StockHolderRepository {
60
121
  event: {
61
122
  id: string;
62
123
  startDate: Date;
124
+ hasTicketedSeat: boolean;
63
125
  };
64
126
  }): Promise<number>;
65
127
  /**
66
128
  * 保持者を取得する
67
129
  */
68
- getHolder(params: IUnlockKey): Promise<string | null | undefined>;
130
+ getHolder(params: Omit<IUnlockKey, 'holder'>): Promise<string | null | undefined>;
69
131
  /**
70
132
  * 在庫状況を検索する
71
133
  * offers.lengthが0だと"ERR wrong number of arguments for 'hmget' command"となるので注意
72
134
  */
73
135
  searchHolders(params: {
136
+ project: {
137
+ id: string;
138
+ };
74
139
  eventId: string;
75
140
  startDate: Date;
141
+ hasTicketedSeat: boolean;
76
142
  offers: IOffer[];
77
143
  }): Promise<IGetHolderResult[]>;
144
+ /**
145
+ * 汎用的な検索(mongooseのみ対応)
146
+ */
147
+ search(params: {
148
+ limit?: number;
149
+ page?: number;
150
+ sort?: {
151
+ 'reservationFor.startDate': factory.sortType;
152
+ };
153
+ project?: {
154
+ id?: {
155
+ $eq?: string;
156
+ };
157
+ };
158
+ reservationFor?: {
159
+ id?: {
160
+ $eq?: string;
161
+ };
162
+ };
163
+ reservationNumber?: {
164
+ $eq?: string;
165
+ };
166
+ id?: {
167
+ $eq?: string;
168
+ };
169
+ identifier?: {
170
+ $eq?: string;
171
+ };
172
+ reservedTicket?: {
173
+ ticketedSeat?: {
174
+ seatNumber?: {
175
+ $eq?: string;
176
+ };
177
+ seatSection?: {
178
+ $eq?: string;
179
+ };
180
+ };
181
+ };
182
+ }): Promise<ISearchResult[]>;
183
+ /**
184
+ * 汎用的な集計(mongooseのみ対応)
185
+ */
186
+ aggregateByReservationFor(params: {
187
+ limit?: number;
188
+ page?: number;
189
+ project?: {
190
+ id?: {
191
+ $eq?: string;
192
+ };
193
+ };
194
+ reservationFor?: {
195
+ id?: {
196
+ $eq?: string;
197
+ };
198
+ };
199
+ }): Promise<{
200
+ typeOf: 'AggregateReservation';
201
+ reservationCount: number;
202
+ reservationFor: {
203
+ id: string;
204
+ startDate: Date;
205
+ };
206
+ reservationPackageCount: number;
207
+ objectSize: number;
208
+ }[]>;
78
209
  private checkIfConflicted;
210
+ private initializeHoldReservation;
211
+ /**
212
+ * 仮で追加したholdReservationsが重複していないかどうか検証する
213
+ */
214
+ private checkIfAlreadyInUse;
79
215
  }