@chevre/domain 21.2.0-alpha.16 → 21.2.0-alpha.160

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 (299) hide show
  1. package/example/src/chevre/aggregateEventReservation.ts +1 -1
  2. package/example/src/chevre/aggregateSellerPaymentAccepted.ts +27 -0
  3. package/example/src/chevre/aggregation/aggregateSystem.ts +85 -27
  4. package/example/src/chevre/countDelayedTasks.ts +7 -2
  5. package/example/src/chevre/createManyEventsIfNotExist.ts +199 -46
  6. package/example/src/chevre/deleteTasksByName.ts +10 -2
  7. package/example/src/chevre/findScreeningRoomsByBranchCode.ts +4 -3
  8. package/example/src/chevre/giveUpStartDatePassedCertainPeriod.ts +56 -0
  9. package/example/src/chevre/importEventsFromCOA.ts +3 -4
  10. package/example/src/chevre/lockStockHolder.ts +5 -2
  11. package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
  12. package/example/src/chevre/processPay.ts +5 -1
  13. package/example/src/chevre/processRegisterMembership.ts +8 -4
  14. package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
  15. package/example/src/chevre/processReserve.ts +5 -2
  16. package/example/src/chevre/saveTasks.ts +13 -10
  17. package/example/src/chevre/searchAbortedTasks.ts +34 -0
  18. package/example/src/chevre/searchActions.ts +33 -0
  19. package/example/src/chevre/searchEventSeats.ts +5 -2
  20. package/example/src/chevre/searchHoldReservations.ts +38 -0
  21. package/example/src/chevre/searchPermissions.ts +54 -0
  22. package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
  23. package/example/src/chevre/searchScreeningRooms.ts +35 -0
  24. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  25. package/example/src/chevre/sendEmailMessage.ts +1 -2
  26. package/example/src/chevre/syncScreeningRooms.ts +22 -0
  27. package/example/src/chevre/syncScreeningRoomsAll.ts +44 -0
  28. package/example/src/chevre/task/executeTasks.ts +26 -0
  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/unsetContainsInPlaceFromMovieTheater.ts +41 -0
  32. package/example/src/chevre/updateTransaction.ts +1 -1
  33. package/example/src/playOnMoment.ts +24 -0
  34. package/lib/chevre/credentials.d.ts +1 -0
  35. package/lib/chevre/credentials.js +2 -1
  36. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  37. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  38. package/lib/chevre/eventEmitter/task.d.ts +2 -1
  39. package/lib/chevre/eventEmitter/task.js +1 -4
  40. package/lib/chevre/eventEmitter/transaction.d.ts +1 -1
  41. package/lib/chevre/eventEmitter/transaction.js +1 -4
  42. package/lib/chevre/eventEmitter.d.ts +2 -1
  43. package/lib/chevre/eventEmitter.js +3 -1
  44. package/lib/chevre/factory/order.d.ts +4 -1
  45. package/lib/chevre/factory/order.js +19 -6
  46. package/lib/chevre/repo/account.js +3 -2
  47. package/lib/chevre/repo/accountTransaction.d.ts +3 -1
  48. package/lib/chevre/repo/accountTransaction.js +3 -2
  49. package/lib/chevre/repo/accountingReport.d.ts +1 -3
  50. package/lib/chevre/repo/action.d.ts +79 -2
  51. package/lib/chevre/repo/action.js +151 -57
  52. package/lib/chevre/repo/additionalProperty.js +2 -1
  53. package/lib/chevre/repo/aggregation.d.ts +3 -0
  54. package/lib/chevre/repo/aggregation.js +3 -0
  55. package/lib/chevre/repo/assetTransaction.d.ts +23 -8
  56. package/lib/chevre/repo/assetTransaction.js +253 -80
  57. package/lib/chevre/repo/categoryCode.d.ts +1 -1
  58. package/lib/chevre/repo/categoryCode.js +37 -25
  59. package/lib/chevre/repo/code.js +3 -2
  60. package/lib/chevre/repo/comment.d.ts +4 -1
  61. package/lib/chevre/repo/comment.js +22 -6
  62. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  63. package/lib/chevre/repo/confirmationNumber.js +3 -15
  64. package/lib/chevre/repo/creativeWork.d.ts +1 -1
  65. package/lib/chevre/repo/creativeWork.js +35 -12
  66. package/lib/chevre/repo/customer.js +2 -1
  67. package/lib/chevre/repo/emailMessage.js +2 -1
  68. package/lib/chevre/repo/event.d.ts +30 -2
  69. package/lib/chevre/repo/event.js +87 -36
  70. package/lib/chevre/repo/member.d.ts +14 -0
  71. package/lib/chevre/repo/member.js +31 -3
  72. package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
  73. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  74. package/lib/chevre/repo/mongoose/schemas/action.d.ts +3 -3
  75. package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
  76. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +9 -6
  77. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
  78. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  79. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +3 -3
  80. package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
  81. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +3 -3
  82. package/lib/chevre/repo/mongoose/schemas/event.d.ts +3 -3
  83. package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
  84. package/lib/chevre/repo/mongoose/schemas/holdReservation.js +93 -0
  85. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +9 -9
  86. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +3 -3
  87. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  88. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  89. package/lib/chevre/repo/mongoose/schemas/order.d.ts +21 -21
  90. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  91. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
  92. package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -0
  93. package/lib/chevre/repo/mongoose/schemas/place.js +16 -1
  94. package/lib/chevre/repo/mongoose/schemas/product.js +6 -0
  95. package/lib/chevre/repo/mongoose/schemas/project.d.ts +3 -3
  96. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +15 -15
  97. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  98. package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
  99. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/task.d.ts +3 -0
  101. package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
  102. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +9 -6
  103. package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
  104. package/lib/chevre/repo/offer.js +3 -2
  105. package/lib/chevre/repo/offerCatalog.js +0 -27
  106. package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
  107. package/lib/chevre/repo/offerItemCondition.js +121 -0
  108. package/lib/chevre/repo/order.d.ts +30 -3
  109. package/lib/chevre/repo/order.js +57 -10
  110. package/lib/chevre/repo/ownershipInfo.js +2 -7
  111. package/lib/chevre/repo/paymentServiceProvider.d.ts +65 -0
  112. package/lib/chevre/repo/paymentServiceProvider.js +156 -0
  113. package/lib/chevre/repo/place.d.ts +203 -27
  114. package/lib/chevre/repo/place.js +1722 -694
  115. package/lib/chevre/repo/priceSpecification.js +3 -2
  116. package/lib/chevre/repo/product.d.ts +5 -3
  117. package/lib/chevre/repo/product.js +92 -5
  118. package/lib/chevre/repo/project.js +2 -1
  119. package/lib/chevre/repo/reservation.d.ts +20 -4
  120. package/lib/chevre/repo/reservation.js +40 -59
  121. package/lib/chevre/repo/role.d.ts +7 -0
  122. package/lib/chevre/repo/role.js +39 -2
  123. package/lib/chevre/repo/seller.d.ts +21 -1
  124. package/lib/chevre/repo/seller.js +78 -23
  125. package/lib/chevre/repo/serviceOutput.js +2 -1
  126. package/lib/chevre/repo/stockHolder.d.ts +143 -7
  127. package/lib/chevre/repo/stockHolder.js +622 -104
  128. package/lib/chevre/repo/task.d.ts +42 -2
  129. package/lib/chevre/repo/task.js +68 -20
  130. package/lib/chevre/repo/transaction.d.ts +21 -2
  131. package/lib/chevre/repo/transaction.js +160 -48
  132. package/lib/chevre/repo/trip.js +2 -1
  133. package/lib/chevre/repository.d.ts +11 -2
  134. package/lib/chevre/repository.js +15 -4
  135. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +18 -8
  136. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +19 -8
  137. package/lib/chevre/service/aggregation/system.d.ts +110 -23
  138. package/lib/chevre/service/aggregation/system.js +213 -91
  139. package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
  140. package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -24
  141. package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
  142. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  143. package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
  144. package/lib/chevre/service/assetTransaction/pay.js +20 -34
  145. package/lib/chevre/service/assetTransaction/refund.js +2 -24
  146. package/lib/chevre/service/assetTransaction/registerService.js +1 -25
  147. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
  148. package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
  149. package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
  150. package/lib/chevre/service/assetTransaction/reserve.js +93 -70
  151. package/lib/chevre/service/assetTransaction.d.ts +6 -0
  152. package/lib/chevre/service/assetTransaction.js +9 -4
  153. package/lib/chevre/service/event.d.ts +3 -0
  154. package/lib/chevre/service/event.js +55 -22
  155. package/lib/chevre/service/iam.d.ts +6 -2
  156. package/lib/chevre/service/iam.js +23 -9
  157. package/lib/chevre/service/notification/factory.js +2 -2
  158. package/lib/chevre/service/notification.d.ts +3 -1
  159. package/lib/chevre/service/notification.js +41 -7
  160. package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
  161. package/lib/chevre/service/offer/event/authorize.js +8 -2
  162. package/lib/chevre/service/offer/event/factory.d.ts +3 -0
  163. package/lib/chevre/service/offer/event/factory.js +36 -16
  164. package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
  165. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  166. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  167. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +15 -8
  168. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
  169. package/lib/chevre/service/offer/product/factory.js +13 -6
  170. package/lib/chevre/service/offer/product.js +2 -2
  171. package/lib/chevre/service/offer.d.ts +16 -8
  172. package/lib/chevre/service/offer.js +72 -9
  173. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +31 -17
  174. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  175. package/lib/chevre/service/order/deleteOrder.js +8 -8
  176. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +5 -2
  177. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
  178. package/lib/chevre/service/order/onOrderStatusChanged.js +3 -5
  179. package/lib/chevre/service/order/onOrderUpdated.d.ts +16 -0
  180. package/lib/chevre/service/order/onOrderUpdated.js +22 -0
  181. package/lib/chevre/service/order/placeOrder.d.ts +1 -0
  182. package/lib/chevre/service/order/placeOrder.js +45 -28
  183. package/lib/chevre/service/order/returnOrder.d.ts +1 -0
  184. package/lib/chevre/service/order/returnOrder.js +8 -13
  185. package/lib/chevre/service/order/sendOrder.d.ts +1 -0
  186. package/lib/chevre/service/order/sendOrder.js +10 -13
  187. package/lib/chevre/service/order.d.ts +2 -1
  188. package/lib/chevre/service/order.js +3 -1
  189. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  190. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +4 -6
  191. package/lib/chevre/service/payment/any/onRefund.js +47 -43
  192. package/lib/chevre/service/payment/any.d.ts +9 -5
  193. package/lib/chevre/service/payment/any.js +80 -18
  194. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  195. package/lib/chevre/service/payment/creditCard.js +23 -17
  196. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
  197. package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
  198. package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
  199. package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
  200. package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
  201. package/lib/chevre/service/payment/movieTicket/validation.js +65 -37
  202. package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
  203. package/lib/chevre/service/payment/movieTicket.js +7 -6
  204. package/lib/chevre/service/product.js +1 -5
  205. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  206. package/lib/chevre/service/report/telemetry.js +21 -24
  207. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
  208. package/lib/chevre/service/reserve/cancelReservation.js +162 -142
  209. package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
  210. package/lib/chevre/service/reserve/checkInReservation.js +77 -3
  211. package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
  212. package/lib/chevre/service/reserve/confirmReservation.js +133 -58
  213. package/lib/chevre/service/reserve/factory.d.ts +1 -1
  214. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
  215. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
  216. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  217. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  218. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  219. package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
  220. package/lib/chevre/service/reserve/useReservation.js +61 -71
  221. package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
  222. package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
  223. package/lib/chevre/service/reserve.d.ts +3 -2
  224. package/lib/chevre/service/reserve.js +4 -2
  225. package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
  226. package/lib/chevre/service/task/cancelPendingReservation.js +6 -2
  227. package/lib/chevre/service/task/cancelReservation.js +1 -1
  228. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  229. package/lib/chevre/service/task/deleteTransaction.js +12 -8
  230. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  231. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
  232. package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
  233. package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
  234. package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
  235. package/lib/chevre/service/task/onResourceUpdated.d.ts +7 -0
  236. package/lib/chevre/service/task/onResourceUpdated.js +396 -0
  237. package/lib/chevre/service/task/placeOrder.js +1 -1
  238. package/lib/chevre/service/task/reserve.js +10 -7
  239. package/lib/chevre/service/task/returnOrder.js +1 -1
  240. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  241. package/lib/chevre/service/task/sendOrder.js +1 -1
  242. package/lib/chevre/service/task/syncScreeningRooms.d.ts +7 -0
  243. package/lib/chevre/service/task/syncScreeningRooms.js +24 -0
  244. package/lib/chevre/service/task/useReservation.d.ts +7 -0
  245. package/lib/chevre/service/task/useReservation.js +36 -0
  246. package/lib/chevre/service/task/voidReserveTransaction.js +4 -2
  247. package/lib/chevre/service/task.d.ts +6 -0
  248. package/lib/chevre/service/task.js +22 -4
  249. package/lib/chevre/service/transaction/deleteTransaction.d.ts +23 -0
  250. package/lib/chevre/service/transaction/deleteTransaction.js +360 -0
  251. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +12 -1
  252. package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +1 -1
  253. package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
  254. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
  255. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
  256. package/lib/chevre/service/transaction/moneyTransfer.js +10 -13
  257. package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
  258. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
  259. package/lib/chevre/service/transaction/orderProgramMembership.js +7 -3
  260. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +43 -30
  261. package/lib/chevre/service/transaction/placeOrder.js +1 -5
  262. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
  263. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/givePointAward.js +1 -1
  264. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
  265. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +2 -2
  266. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  267. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +2 -2
  268. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/sendEmailMessage.js +4 -4
  269. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  270. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +3 -4
  271. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  272. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +15 -15
  273. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  274. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  275. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  276. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  277. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  278. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  279. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
  280. package/lib/chevre/service/transaction/placeOrderInProgress.js +28 -15
  281. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +11 -1
  282. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +2 -2
  283. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +30 -22
  284. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +2 -2
  285. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +3 -3
  286. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +1 -1
  287. package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
  288. package/lib/chevre/service/transaction/returnOrder.js +228 -36
  289. package/lib/chevre/service/transaction.d.ts +7 -13
  290. package/lib/chevre/service/transaction.js +12 -139
  291. package/lib/chevre/settings.d.ts +15 -2
  292. package/lib/chevre/settings.js +58 -7
  293. package/package.json +3 -3
  294. package/example/src/chevre/eventCatalog2eventService.ts +0 -123
  295. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  296. package/example/src/chevre/migrateStockHolderKeys.ts +0 -89
  297. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  298. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  299. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
@@ -21,8 +21,10 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.MongoRepository = void 0;
24
+ const mongoose_1 = require("mongoose");
24
25
  const seller_1 = require("./mongoose/schemas/seller");
25
26
  const factory = require("../factory");
27
+ const settings_1 = require("../settings");
26
28
  /**
27
29
  * 販売者リポジトリ
28
30
  */
@@ -32,21 +34,12 @@ class MongoRepository {
32
34
  }
33
35
  // tslint:disable-next-line:max-func-body-length
34
36
  static CREATE_MONGO_CONDITIONS(params) {
35
- var _a, _b, _c, _d, _e, _f;
37
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
36
38
  // MongoDB検索条件
37
39
  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
- }
40
+ const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
41
+ if (typeof projectIdEq === 'string') {
42
+ andConditions.push({ 'project.id': { $eq: projectIdEq } });
50
43
  }
51
44
  const nameRegex = params.name;
52
45
  if (typeof nameRegex === 'string' && nameRegex.length > 0) {
@@ -67,7 +60,7 @@ class MongoRepository {
67
60
  ]
68
61
  });
69
62
  }
70
- const branchCodeEq = (_a = params.branchCode) === null || _a === void 0 ? void 0 : _a.$eq;
63
+ const branchCodeEq = (_c = params.branchCode) === null || _c === void 0 ? void 0 : _c.$eq;
71
64
  if (typeof branchCodeEq === 'string') {
72
65
  andConditions.push({
73
66
  branchCode: {
@@ -75,7 +68,7 @@ class MongoRepository {
75
68
  }
76
69
  });
77
70
  }
78
- const branchCodeRegex = (_b = params.branchCode) === null || _b === void 0 ? void 0 : _b.$regex;
71
+ const branchCodeRegex = (_d = params.branchCode) === null || _d === void 0 ? void 0 : _d.$regex;
79
72
  if (typeof branchCodeRegex === 'string' && branchCodeRegex.length > 0) {
80
73
  andConditions.push({
81
74
  branchCode: {
@@ -83,7 +76,7 @@ class MongoRepository {
83
76
  }
84
77
  });
85
78
  }
86
- const additionalPropertyAll = (_c = params.additionalProperty) === null || _c === void 0 ? void 0 : _c.$all;
79
+ const additionalPropertyAll = (_e = params.additionalProperty) === null || _e === void 0 ? void 0 : _e.$all;
87
80
  if (Array.isArray(additionalPropertyAll)) {
88
81
  andConditions.push({
89
82
  additionalProperty: {
@@ -92,7 +85,7 @@ class MongoRepository {
92
85
  }
93
86
  });
94
87
  }
95
- const additionalPropertyIn = (_d = params.additionalProperty) === null || _d === void 0 ? void 0 : _d.$in;
88
+ const additionalPropertyIn = (_f = params.additionalProperty) === null || _f === void 0 ? void 0 : _f.$in;
96
89
  if (Array.isArray(additionalPropertyIn)) {
97
90
  andConditions.push({
98
91
  additionalProperty: {
@@ -101,7 +94,7 @@ class MongoRepository {
101
94
  }
102
95
  });
103
96
  }
104
- const additionalPropertyNin = (_e = params.additionalProperty) === null || _e === void 0 ? void 0 : _e.$nin;
97
+ const additionalPropertyNin = (_g = params.additionalProperty) === null || _g === void 0 ? void 0 : _g.$nin;
105
98
  if (Array.isArray(additionalPropertyNin)) {
106
99
  andConditions.push({
107
100
  additionalProperty: {
@@ -109,7 +102,7 @@ class MongoRepository {
109
102
  }
110
103
  });
111
104
  }
112
- const additionalPropertyElemMatch = (_f = params.additionalProperty) === null || _f === void 0 ? void 0 : _f.$elemMatch;
105
+ const additionalPropertyElemMatch = (_h = params.additionalProperty) === null || _h === void 0 ? void 0 : _h.$elemMatch;
113
106
  if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
114
107
  andConditions.push({
115
108
  additionalProperty: {
@@ -118,14 +111,43 @@ class MongoRepository {
118
111
  }
119
112
  });
120
113
  }
114
+ 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;
115
+ if (typeof hasMerchantReturnPolicyItemConditionIdEq === 'string') {
116
+ andConditions.push({
117
+ 'hasMerchantReturnPolicy.itemCondition.id': {
118
+ $exists: true,
119
+ $eq: hasMerchantReturnPolicyItemConditionIdEq
120
+ }
121
+ });
122
+ }
121
123
  return andConditions;
122
124
  }
123
125
  /**
124
126
  * 特定販売者検索
125
127
  */
126
- findById(conditions, projection) {
128
+ findById(conditions,
129
+ // projection?: any
130
+ inclusion, exclusion) {
127
131
  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))
132
+ let projection = {};
133
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
134
+ inclusion.forEach((field) => {
135
+ projection[field] = 1;
136
+ });
137
+ }
138
+ else {
139
+ projection = {
140
+ __v: 0,
141
+ createdAt: 0,
142
+ updatedAt: 0
143
+ };
144
+ if (Array.isArray(exclusion) && exclusion.length > 0) {
145
+ exclusion.forEach((field) => {
146
+ projection[field] = 0;
147
+ });
148
+ }
149
+ }
150
+ const doc = yield this.organizationModel.findOne({ _id: conditions.id }, projection)
129
151
  .exec();
130
152
  if (doc === null) {
131
153
  throw new factory.errors.NotFound(this.organizationModel.modelName);
@@ -160,7 +182,7 @@ class MongoRepository {
160
182
  return __awaiter(this, void 0, void 0, function* () {
161
183
  const conditions = MongoRepository.CREATE_MONGO_CONDITIONS(params);
162
184
  return this.organizationModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
163
- .setOptions({ maxTimeMS: 10000 })
185
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
164
186
  .exec();
165
187
  });
166
188
  }
@@ -182,11 +204,44 @@ class MongoRepository {
182
204
  if (((_a = conditions.sort) === null || _a === void 0 ? void 0 : _a.branchCode) !== undefined) {
183
205
  query.sort({ branchCode: conditions.sort.branchCode });
184
206
  }
185
- return query.setOptions({ maxTimeMS: 10000 })
207
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
186
208
  .exec()
187
209
  .then((docs) => docs.map((doc) => doc.toObject()));
188
210
  });
189
211
  }
212
+ /**
213
+ * 対応決済方法を検索する
214
+ */
215
+ searchPaymentAcceptedById(params) {
216
+ return __awaiter(this, void 0, void 0, function* () {
217
+ const matchStages = [
218
+ { $match: { 'project.id': { $eq: params.project.id.$eq } } },
219
+ { $match: { _id: { $eq: new mongoose_1.Types.ObjectId(params.id.$eq) } } }
220
+ ];
221
+ const aggregate = this.organizationModel.aggregate([
222
+ {
223
+ $unwind: {
224
+ path: '$paymentAccepted'
225
+ }
226
+ },
227
+ ...matchStages,
228
+ { $sort: { 'paymentAccepted.paymentMethodType': factory.sortType.Ascending } },
229
+ {
230
+ $project: {
231
+ _id: 0,
232
+ codeValue: '$paymentAccepted.paymentMethodType'
233
+ }
234
+ }
235
+ ]);
236
+ if (typeof params.limit === 'number' && params.limit > 0) {
237
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
238
+ aggregate.limit(params.limit * page)
239
+ .skip(params.limit * (page - 1));
240
+ }
241
+ return aggregate.option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
242
+ .exec();
243
+ });
244
+ }
190
245
  /**
191
246
  * 販売者を削除する
192
247
  */
@@ -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
  }