@chevre/domain 21.2.0-alpha.12 → 21.2.0-alpha.120

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 (293) 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/findMovieTheaterById.ts +40 -0
  6. package/example/src/chevre/importEventsFromCOA.ts +3 -4
  7. package/example/src/chevre/lockStockHolder.ts +2 -1
  8. package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
  9. package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
  10. package/example/src/chevre/migrateStockHolderKeys.ts +1 -1
  11. package/example/src/chevre/processPay.ts +5 -1
  12. package/example/src/chevre/processRegisterMembership.ts +8 -4
  13. package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
  14. package/example/src/chevre/processReserve.ts +5 -2
  15. package/example/src/chevre/saveTasks.ts +13 -10
  16. package/example/src/chevre/searchAbortedTasks.ts +36 -0
  17. package/example/src/chevre/searchActions.ts +33 -0
  18. package/example/src/chevre/searchEventSeats.ts +2 -1
  19. package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
  20. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  21. package/example/src/chevre/task/executeTasks.ts +26 -0
  22. package/example/src/chevre/transaction/findCreditCard.ts +1 -1
  23. package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
  24. package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
  25. package/example/src/chevre/transaction/startExportTasks.ts +20 -0
  26. package/example/src/chevre/updateScreeningRoom.ts +41 -0
  27. package/example/src/chevre/updateTransaction.ts +1 -1
  28. package/example/src/playOnMoment.ts +24 -0
  29. package/lib/chevre/credentials.d.ts +1 -0
  30. package/lib/chevre/credentials.js +2 -1
  31. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  32. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  33. package/lib/chevre/eventEmitter/task.d.ts +18 -0
  34. package/lib/chevre/eventEmitter/task.js +25 -0
  35. package/lib/chevre/eventEmitter/transaction.d.ts +21 -0
  36. package/lib/chevre/eventEmitter/transaction.js +25 -0
  37. package/lib/chevre/eventEmitter.d.ts +4 -0
  38. package/lib/chevre/eventEmitter.js +9 -0
  39. package/lib/chevre/index.d.ts +3 -2
  40. package/lib/chevre/index.js +5 -3
  41. package/lib/chevre/repo/account.js +3 -2
  42. package/lib/chevre/repo/accountTransaction.d.ts +3 -11
  43. package/lib/chevre/repo/accountTransaction.js +3 -55
  44. package/lib/chevre/repo/action.d.ts +42 -2
  45. package/lib/chevre/repo/action.js +130 -57
  46. package/lib/chevre/repo/additionalProperty.js +2 -1
  47. package/lib/chevre/repo/aggregation.d.ts +3 -0
  48. package/lib/chevre/repo/aggregation.js +3 -0
  49. package/lib/chevre/repo/assetTransaction.d.ts +25 -9
  50. package/lib/chevre/repo/assetTransaction.js +259 -87
  51. package/lib/chevre/repo/categoryCode.d.ts +1 -1
  52. package/lib/chevre/repo/categoryCode.js +37 -25
  53. package/lib/chevre/repo/code.js +3 -2
  54. package/lib/chevre/repo/comment.d.ts +4 -1
  55. package/lib/chevre/repo/comment.js +22 -6
  56. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  57. package/lib/chevre/repo/confirmationNumber.js +3 -15
  58. package/lib/chevre/repo/creativeWork.d.ts +2 -4
  59. package/lib/chevre/repo/creativeWork.js +35 -12
  60. package/lib/chevre/repo/customer.js +2 -1
  61. package/lib/chevre/repo/emailMessage.d.ts +1 -27
  62. package/lib/chevre/repo/emailMessage.js +2 -1
  63. package/lib/chevre/repo/event.d.ts +27 -1
  64. package/lib/chevre/repo/event.js +67 -33
  65. package/lib/chevre/repo/member.js +4 -3
  66. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
  67. package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
  68. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -2
  69. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +29 -3
  70. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +31 -3
  71. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  72. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +13 -3
  73. package/lib/chevre/repo/mongoose/schemas/action.d.ts +43 -3
  74. package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
  75. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +17 -3
  76. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -2
  77. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +44 -3
  78. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
  79. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +19 -3
  80. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  81. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +25 -3
  82. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +27 -3
  83. package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
  84. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +43 -3
  85. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +25 -3
  86. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +21 -3
  87. package/lib/chevre/repo/mongoose/schemas/event.d.ts +71 -3
  88. package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
  89. package/lib/chevre/repo/mongoose/schemas/holdReservation.js +56 -0
  90. package/lib/chevre/repo/mongoose/schemas/member.d.ts +13 -3
  91. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +21 -3
  92. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +65 -3
  93. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +27 -3
  94. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  95. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  96. package/lib/chevre/repo/mongoose/schemas/order.d.ts +51 -3
  97. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  98. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +25 -3
  99. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/place.d.ts +49 -3
  101. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +29 -3
  102. package/lib/chevre/repo/mongoose/schemas/product.d.ts +31 -3
  103. package/lib/chevre/repo/mongoose/schemas/project.d.ts +23 -3
  104. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -5
  105. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  106. package/lib/chevre/repo/mongoose/schemas/role.d.ts +11 -3
  107. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +31 -3
  108. package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
  109. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +11 -3
  110. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
  111. package/lib/chevre/repo/mongoose/schemas/task.d.ts +30 -3
  112. package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
  113. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +21 -3
  114. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +40 -3
  115. package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
  116. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +11 -3
  117. package/lib/chevre/repo/offer.js +3 -2
  118. package/lib/chevre/repo/offerCatalog.js +0 -27
  119. package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
  120. package/lib/chevre/repo/offerItemCondition.js +121 -0
  121. package/lib/chevre/repo/order.d.ts +55 -3
  122. package/lib/chevre/repo/order.js +62 -10
  123. package/lib/chevre/repo/ownershipInfo.js +2 -7
  124. package/lib/chevre/repo/place.d.ts +20 -5
  125. package/lib/chevre/repo/place.js +63 -23
  126. package/lib/chevre/repo/priceSpecification.js +3 -2
  127. package/lib/chevre/repo/product.d.ts +1 -3
  128. package/lib/chevre/repo/product.js +25 -4
  129. package/lib/chevre/repo/project.js +2 -1
  130. package/lib/chevre/repo/reservation.d.ts +20 -4
  131. package/lib/chevre/repo/reservation.js +40 -59
  132. package/lib/chevre/repo/role.js +3 -2
  133. package/lib/chevre/repo/seller.d.ts +1 -1
  134. package/lib/chevre/repo/seller.js +44 -23
  135. package/lib/chevre/repo/serviceOutput.js +2 -1
  136. package/lib/chevre/repo/stockHolder.d.ts +35 -5
  137. package/lib/chevre/repo/stockHolder.js +306 -87
  138. package/lib/chevre/repo/task.d.ts +45 -2
  139. package/lib/chevre/repo/task.js +94 -15
  140. package/lib/chevre/repo/transaction.d.ts +23 -3
  141. package/lib/chevre/repo/transaction.js +177 -56
  142. package/lib/chevre/repo/trip.js +2 -1
  143. package/lib/chevre/repository.d.ts +5 -2
  144. package/lib/chevre/repository.js +8 -4
  145. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +8 -6
  146. package/lib/chevre/service/aggregation/system.d.ts +110 -23
  147. package/lib/chevre/service/aggregation/system.js +213 -91
  148. package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
  149. package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -24
  150. package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
  151. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  152. package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
  153. package/lib/chevre/service/assetTransaction/pay.js +20 -34
  154. package/lib/chevre/service/assetTransaction/refund.js +2 -24
  155. package/lib/chevre/service/assetTransaction/registerService.js +1 -25
  156. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
  157. package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
  158. package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
  159. package/lib/chevre/service/assetTransaction/reserve.js +85 -69
  160. package/lib/chevre/service/assetTransaction.d.ts +6 -0
  161. package/lib/chevre/service/assetTransaction.js +9 -4
  162. package/lib/chevre/service/event.js +16 -5
  163. package/lib/chevre/service/notification/factory.js +2 -2
  164. package/lib/chevre/service/notification.d.ts +3 -1
  165. package/lib/chevre/service/notification.js +41 -7
  166. package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
  167. package/lib/chevre/service/offer/event/authorize.js +8 -2
  168. package/lib/chevre/service/offer/event/factory.d.ts +3 -0
  169. package/lib/chevre/service/offer/event/factory.js +16 -5
  170. package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
  171. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  172. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  173. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
  174. package/lib/chevre/service/offer/product.js +2 -2
  175. package/lib/chevre/service/offer.d.ts +16 -8
  176. package/lib/chevre/service/offer.js +69 -8
  177. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  178. package/lib/chevre/service/order/deleteOrder.js +8 -8
  179. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +5 -2
  180. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
  181. package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
  182. package/lib/chevre/service/order/onOrderUpdated.d.ts +16 -0
  183. package/lib/chevre/service/order/onOrderUpdated.js +22 -0
  184. package/lib/chevre/service/order/placeOrder.d.ts +1 -0
  185. package/lib/chevre/service/order/placeOrder.js +41 -24
  186. package/lib/chevre/service/order/returnOrder.d.ts +1 -0
  187. package/lib/chevre/service/order/returnOrder.js +7 -12
  188. package/lib/chevre/service/order/sendOrder.d.ts +1 -0
  189. package/lib/chevre/service/order/sendOrder.js +7 -10
  190. package/lib/chevre/service/order.d.ts +2 -1
  191. package/lib/chevre/service/order.js +3 -1
  192. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  193. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  194. package/lib/chevre/service/payment/any.d.ts +9 -5
  195. package/lib/chevre/service/payment/any.js +80 -18
  196. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  197. package/lib/chevre/service/payment/creditCard.js +23 -17
  198. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
  199. package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
  200. package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
  201. package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
  202. package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
  203. package/lib/chevre/service/payment/movieTicket/validation.js +55 -32
  204. package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
  205. package/lib/chevre/service/payment/movieTicket.js +7 -6
  206. package/lib/chevre/service/product.js +1 -5
  207. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  208. package/lib/chevre/service/report/telemetry.js +21 -24
  209. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
  210. package/lib/chevre/service/reserve/cancelReservation.js +147 -139
  211. package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
  212. package/lib/chevre/service/reserve/checkInReservation.js +77 -3
  213. package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
  214. package/lib/chevre/service/reserve/confirmReservation.js +133 -58
  215. package/lib/chevre/service/reserve/factory.d.ts +1 -1
  216. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
  217. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
  218. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  219. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  220. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  221. package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
  222. package/lib/chevre/service/reserve/useReservation.js +61 -71
  223. package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
  224. package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
  225. package/lib/chevre/service/reserve.d.ts +3 -2
  226. package/lib/chevre/service/reserve.js +4 -2
  227. package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
  228. package/lib/chevre/service/task/cancelPendingReservation.js +6 -2
  229. package/lib/chevre/service/task/cancelReservation.js +1 -1
  230. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  231. package/lib/chevre/service/task/deleteTransaction.js +10 -8
  232. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  233. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
  234. package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
  235. package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
  236. package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
  237. package/lib/chevre/service/task/onResourceUpdated.d.ts +7 -0
  238. package/lib/chevre/service/task/onResourceUpdated.js +352 -0
  239. package/lib/chevre/service/task/placeOrder.js +1 -1
  240. package/lib/chevre/service/task/reserve.js +10 -7
  241. package/lib/chevre/service/task/returnOrder.js +1 -1
  242. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  243. package/lib/chevre/service/task/sendOrder.js +1 -1
  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 +9 -0
  248. package/lib/chevre/service/task.js +43 -4
  249. package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
  250. package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
  251. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -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 +42 -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/moneyTransfer.d.ts +1 -0
  264. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  265. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  266. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  267. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  268. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  269. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
  270. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  271. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  272. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  273. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  274. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  275. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  276. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
  277. package/lib/chevre/service/transaction/placeOrderInProgress.js +28 -15
  278. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
  279. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
  280. package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
  281. package/lib/chevre/service/transaction/returnOrder.js +228 -36
  282. package/lib/chevre/service/transaction.d.ts +8 -13
  283. package/lib/chevre/service/transaction.js +12 -145
  284. package/lib/chevre/settings.d.ts +12 -1
  285. package/lib/chevre/settings.js +53 -6
  286. package/package.json +5 -5
  287. package/example/src/chevre/createManyEventsIfNotExist.ts +0 -205
  288. package/example/src/chevre/eventCatalog2eventService.ts +0 -123
  289. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  290. package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
  291. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  292. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  293. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
@@ -37,9 +37,7 @@ export declare class MongoRepository {
37
37
  }, projection?: {
38
38
  [key: string]: number;
39
39
  }): Promise<IProduct>;
40
- search(conditions: factory.product.ISearchConditions, projection?: {
41
- [key: string]: number;
42
- }): Promise<IProduct[]>;
40
+ search(conditions: factory.product.ISearchConditions, inclusion: string[], exclusion: string[]): Promise<IProduct[]>;
43
41
  deleteById(params: {
44
42
  id: string;
45
43
  }): Promise<void>;
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.MongoRepository = void 0;
24
24
  const product_1 = require("./mongoose/schemas/product");
25
25
  const factory = require("../factory");
26
+ const settings_1 = require("../settings");
26
27
  /**
27
28
  * プロダクトリポジトリ
28
29
  */
@@ -155,11 +156,31 @@ class MongoRepository {
155
156
  return doc.toObject();
156
157
  });
157
158
  }
158
- search(conditions, projection) {
159
+ search(conditions,
160
+ // projection?: { [key: string]: number }
161
+ inclusion, exclusion) {
159
162
  var _a;
160
163
  return __awaiter(this, void 0, void 0, function* () {
161
164
  const andConditions = MongoRepository.CREATE_MONGO_CONDITIONS(conditions);
162
- const query = this.productModel.find((andConditions.length > 0) ? { $and: andConditions } : {}, Object.assign({ __v: 0, createdAt: 0, updatedAt: 0 }, projection));
165
+ let projection = {};
166
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
167
+ inclusion.forEach((field) => {
168
+ projection[field] = 1;
169
+ });
170
+ }
171
+ else {
172
+ projection = {
173
+ __v: 0,
174
+ createdAt: 0,
175
+ updatedAt: 0
176
+ };
177
+ if (Array.isArray(exclusion) && exclusion.length > 0) {
178
+ exclusion.forEach((field) => {
179
+ projection[field] = 0;
180
+ });
181
+ }
182
+ }
183
+ const query = this.productModel.find((andConditions.length > 0) ? { $and: andConditions } : {}, projection);
163
184
  if (typeof conditions.limit === 'number' && conditions.limit > 0) {
164
185
  const page = (typeof conditions.page === 'number' && conditions.page > 0) ? conditions.page : 1;
165
186
  query.limit(conditions.limit)
@@ -170,7 +191,7 @@ class MongoRepository {
170
191
  if (((_a = conditions.sort) === null || _a === void 0 ? void 0 : _a.productID) !== undefined) {
171
192
  query.sort({ productID: conditions.sort.productID });
172
193
  }
173
- return query.setOptions({ maxTimeMS: 10000 })
194
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
174
195
  .exec()
175
196
  .then((docs) => docs.map((doc) => doc.toObject()));
176
197
  });
@@ -192,7 +213,7 @@ class MongoRepository {
192
213
  project: { id: { $eq: params.project.id } },
193
214
  typeOf: { $eq: params.typeOf },
194
215
  id: { $eq: params.id }
195
- });
216
+ }, [], []);
196
217
  const paymentServiceSetting = paymentServices.shift();
197
218
  if (paymentServiceSetting === undefined) {
198
219
  throw new factory.errors.NotFound('PaymentService');
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = void 0;
13
13
  const project_1 = require("./mongoose/schemas/project");
14
14
  const factory = require("../factory");
15
+ const settings_1 = require("../settings");
15
16
  /**
16
17
  * プロジェクトリポジトリ
17
18
  */
@@ -89,7 +90,7 @@ class MongoRepository {
89
90
  if (((_a = conditions.sort) === null || _a === void 0 ? void 0 : _a._id) !== undefined) {
90
91
  query.sort({ _id: conditions.sort._id });
91
92
  }
92
- return query.setOptions({ maxTimeMS: 10000 })
93
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
93
94
  .exec()
94
95
  .then((docs) => docs.map((doc) => doc.toObject()));
95
96
  });
@@ -1,3 +1,4 @@
1
+ import { BulkWriteResult as BulkWriteOpResultObject } from 'mongodb';
1
2
  import { Connection, UpdateWriteOpResult } from 'mongoose';
2
3
  import * as factory from '../factory';
3
4
  export interface IUpdatePartiallyParams {
@@ -23,20 +24,35 @@ export declare class MongoRepository {
23
24
  /**
24
25
  * 予約検索
25
26
  */
26
- search<T extends factory.reservationType>(params: factory.reservation.ISearchConditions<T>, projection?: any): Promise<factory.reservation.IReservation<factory.reservationType.EventReservation>[]>;
27
+ search<T extends factory.reservationType>(params: factory.reservation.ISearchConditions<T>, projection?: {
28
+ [key: string]: 0 | 1;
29
+ }): Promise<factory.reservation.IReservation<factory.reservationType.EventReservation>[]>;
27
30
  findById<T extends factory.reservationType>(params: {
28
31
  id: string;
29
32
  inclusion?: string[];
30
33
  exclusion?: string[];
31
34
  }): Promise<factory.reservation.IReservation<T>>;
32
- /**
33
- * 予約確定
34
- */
35
35
  confirmByReservationNumber(params: {
36
36
  reservationNumber: string;
37
37
  previousReservationStatus: factory.reservationStatusType;
38
38
  underName?: factory.reservation.IUnderName<factory.reservationType.EventReservation>;
39
+ broker?: factory.reservation.IBroker<factory.reservationType>;
40
+ issuedThrough?: factory.assetTransaction.reserve.IIssuedThrough;
39
41
  }): Promise<void>;
42
+ confirmByIdIfNotExist__(params: {
43
+ reservation: factory.assetTransaction.reserve.IObjectSubReservation;
44
+ reservationFor: factory.assetTransaction.reserve.IReservationFor;
45
+ underName?: factory.reservation.IUnderName<factory.reservationType.EventReservation>;
46
+ broker?: factory.reservation.IBroker<factory.reservationType>;
47
+ issuedThrough?: factory.assetTransaction.reserve.IIssuedThrough;
48
+ }): Promise<void>;
49
+ confirmManyIfNotExist(params: {
50
+ subReservation: factory.assetTransaction.reserve.IObjectSubReservation[];
51
+ reservationFor: factory.assetTransaction.reserve.IReservationFor;
52
+ underName?: factory.reservation.IUnderName<factory.reservationType.EventReservation>;
53
+ broker?: factory.reservation.IBroker<factory.reservationType>;
54
+ issuedThrough?: factory.assetTransaction.reserve.IIssuedThrough;
55
+ }): Promise<BulkWriteOpResultObject | void>;
40
56
  /**
41
57
  * 予約取消
42
58
  */
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = void 0;
13
13
  const reservation_1 = require("./mongoose/schemas/reservation");
14
14
  const factory = require("../factory");
15
+ const settings_1 = require("../settings");
15
16
  /**
16
17
  * 予約リポジトリ
17
18
  */
@@ -811,18 +812,6 @@ class MongoRepository {
811
812
  }
812
813
  return andConditions;
813
814
  }
814
- // public async distinct<T extends factory.reservationType>(
815
- // field: string,
816
- // params: factory.reservation.ISearchConditions<T>
817
- // ): Promise<any[]> {
818
- // const conditions = MongoRepository.CREATE_MONGO_CONDITIONS(params);
819
- // return this.reservationModel.distinct(
820
- // field,
821
- // (conditions.length > 0) ? { $and: conditions } : {}
822
- // )
823
- // .setOptions({ maxTimeMS: 10000 })
824
- // .exec();
825
- // }
826
815
  createMany(params) {
827
816
  return __awaiter(this, void 0, void 0, function* () {
828
817
  if (params.reservations.length > 0) {
@@ -849,7 +838,7 @@ class MongoRepository {
849
838
  return __awaiter(this, void 0, void 0, function* () {
850
839
  const conditions = MongoRepository.CREATE_MONGO_CONDITIONS(params);
851
840
  return this.reservationModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
852
- .setOptions({ maxTimeMS: 10000 })
841
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
853
842
  .exec();
854
843
  });
855
844
  }
@@ -877,7 +866,7 @@ class MongoRepository {
877
866
  if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.modifiedTime) !== undefined) {
878
867
  query.sort({ modifiedTime: params.sort.modifiedTime });
879
868
  }
880
- return query.setOptions({ maxTimeMS: 10000 })
869
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
881
870
  .exec()
882
871
  .then((docs) => docs.map((doc) => doc.toObject()));
883
872
  });
@@ -910,61 +899,53 @@ class MongoRepository {
910
899
  return doc.toObject();
911
900
  });
912
901
  }
913
- /**
914
- * 予約確定
915
- */
916
- // public async confirm<T extends factory.reservationType>(params: {
917
- // id: string;
918
- // previousReservationStatus: factory.reservationStatusType;
919
- // underName?: factory.reservation.IUnderName<T>;
920
- // }): Promise<factory.reservation.IReservation<T>> {
921
- // const conditions = {
922
- // _id: { $eq: String(params.id) },
923
- // reservationStatus: { $eq: params.previousReservationStatus }
924
- // };
925
- // // 更新属性をwhitelist化(2022-06-13~)
926
- // const update = {
927
- // // previousReservationStatusを保管(2023-01-19~)
928
- // previousReservationStatus: params.previousReservationStatus,
929
- // reservationStatus: factory.reservationStatusType.ReservationConfirmed,
930
- // modifiedTime: new Date(),
931
- // ...(params.underName !== undefined) ? { underName: params.underName } : undefined
932
- // };
933
- // const doc = await this.reservationModel.findOneAndUpdate(
934
- // conditions,
935
- // update,
936
- // { new: true }
937
- // )
938
- // .select({ __v: 0, createdAt: 0, updatedAt: 0 })
939
- // .exec();
940
- // // NotFoundであれば状態確認
941
- // if (doc === null) {
942
- // const reservation = await this.findById<T>({ id: String(params.id) });
943
- // if (reservation.reservationStatus === factory.reservationStatusType.ReservationConfirmed) {
944
- // // すでに確定済の場合
945
- // return reservation;
946
- // } else {
947
- // throw new factory.errors.Argument(
948
- // 'id',
949
- // `Reservation ${reservation.id} already changed -> ${reservation.reservationStatus}`
950
- // );
951
- // }
952
- // }
953
- // return doc.toObject();
954
- // }
955
902
  confirmByReservationNumber(params) {
903
+ var _a, _b;
956
904
  return __awaiter(this, void 0, void 0, function* () {
957
905
  const conditions = {
958
906
  reservationNumber: { $eq: String(params.reservationNumber) },
959
907
  reservationStatus: { $eq: params.previousReservationStatus }
960
908
  };
961
- const update = Object.assign({
909
+ const update = Object.assign(Object.assign(Object.assign({
962
910
  // previousReservationStatusを保管(2023-01-19~)
963
- previousReservationStatus: params.previousReservationStatus, reservationStatus: factory.reservationStatusType.ReservationConfirmed, modifiedTime: new Date() }, (params.underName !== undefined) ? { underName: params.underName } : undefined);
911
+ previousReservationStatus: params.previousReservationStatus, reservationStatus: factory.reservationStatusType.ReservationConfirmed, modifiedTime: new Date() }, (params.underName !== undefined) ? { underName: params.underName } : undefined), (typeof ((_a = params.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.broker } : undefined), (typeof ((_b = params.issuedThrough) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string') ? { issuedThrough: params.issuedThrough } : undefined);
964
912
  yield this.reservationModel.updateMany(conditions, update)
965
913
  .exec();
966
914
  });
967
915
  }
916
+ confirmByIdIfNotExist__(params) {
917
+ var _a, _b;
918
+ return __awaiter(this, void 0, void 0, function* () {
919
+ yield this.reservationModel.findOneAndUpdate({ _id: { $eq: params.reservation.id } }, {
920
+ $setOnInsert: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, params.reservation), { _id: params.reservation.id, reservationFor: params.reservationFor, reservationStatus: factory.reservationStatusType.ReservationConfirmed, modifiedTime: new Date() }), (params.underName !== undefined) ? { underName: params.underName } : undefined), (typeof ((_a = params.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.broker } : undefined), (typeof ((_b = params.issuedThrough) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string') ? { issuedThrough: params.issuedThrough } : undefined)
921
+ }, { upsert: true, new: true })
922
+ .select({ _id: 1 })
923
+ .exec();
924
+ });
925
+ }
926
+ confirmManyIfNotExist(params) {
927
+ return __awaiter(this, void 0, void 0, function* () {
928
+ const modifiedTime = new Date();
929
+ const bulkWriteOps = [];
930
+ if (Array.isArray(params.subReservation)) {
931
+ params.subReservation.forEach((subReservation) => {
932
+ var _a, _b;
933
+ bulkWriteOps.push({
934
+ updateOne: {
935
+ filter: { _id: { $eq: subReservation.id } },
936
+ update: {
937
+ $setOnInsert: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, subReservation), { _id: subReservation.id, reservationFor: params.reservationFor, reservationStatus: factory.reservationStatusType.ReservationConfirmed, modifiedTime }), (params.underName !== undefined) ? { underName: params.underName } : undefined), (typeof ((_a = params.broker) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { broker: params.broker } : undefined), (typeof ((_b = params.issuedThrough) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string') ? { issuedThrough: params.issuedThrough } : undefined)
938
+ },
939
+ upsert: true
940
+ }
941
+ });
942
+ });
943
+ }
944
+ if (bulkWriteOps.length > 0) {
945
+ return this.reservationModel.bulkWrite(bulkWriteOps, { ordered: false });
946
+ }
947
+ });
948
+ }
968
949
  /**
969
950
  * 予約取消
970
951
  */
@@ -1174,7 +1155,7 @@ class MongoRepository {
1174
1155
  }
1175
1156
  })
1176
1157
  .select({ _id: 1 })
1177
- .setOptions({ maxTimeMS: 10000 })
1158
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
1178
1159
  .exec()
1179
1160
  .then((docs) => docs.map((doc) => doc._id.toString()));
1180
1161
  });
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = exports.RoleType = void 0;
13
13
  const factory = require("../factory");
14
14
  const role_1 = require("./mongoose/schemas/role");
15
+ const settings_1 = require("../settings");
15
16
  var RoleType;
16
17
  (function (RoleType) {
17
18
  RoleType["OrganizationRole"] = "OrganizationRole";
@@ -67,7 +68,7 @@ class MongoRepository {
67
68
  return __awaiter(this, void 0, void 0, function* () {
68
69
  const conditions = MongoRepository.CREATE_MONGO_CONDITIONS(params);
69
70
  return this.roleModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
70
- .setOptions({ maxTimeMS: 10000 })
71
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
71
72
  .exec();
72
73
  });
73
74
  }
@@ -91,7 +92,7 @@ class MongoRepository {
91
92
  }
92
93
  // const explainResult = await (<any>query).explain();
93
94
  // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
94
- return query.setOptions({ maxTimeMS: 10000 })
95
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
95
96
  .exec()
96
97
  .then((docs) => docs.map((doc) => doc.toObject()));
97
98
  });
@@ -37,7 +37,7 @@ export declare class MongoRepository {
37
37
  */
38
38
  findById(conditions: {
39
39
  id: string;
40
- }, projection?: any): Promise<ISeller>;
40
+ }, inclusion: string[], exclusion: string[]): Promise<ISeller>;
41
41
  /**
42
42
  * 販売者を保管する
43
43
  */
@@ -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?: {
@@ -24,6 +26,31 @@ export interface IUnlockKey {
24
26
  offer: IOffer;
25
27
  }
26
28
  export type IGetHolderResult = string | null;
29
+ export interface ISubReservation {
30
+ id?: string;
31
+ identifier: string;
32
+ reservedTicket?: {
33
+ ticketedSeat?: Pick<factory.reservation.ISeat<factory.reservationType>, 'seatNumber' | 'seatSection'>;
34
+ };
35
+ }
36
+ export interface IReservationPackage {
37
+ typeOf: factory.reservationType.ReservationPackage;
38
+ reservationNumber: string;
39
+ subReservation: ISubReservation[];
40
+ }
41
+ export interface IAggregateReservation {
42
+ typeOf: 'AggregateReservation';
43
+ reservationCount: number;
44
+ reservationFor: {
45
+ id: string;
46
+ startDate: Date;
47
+ };
48
+ reservations: IReservationPackage[];
49
+ }
50
+ export interface ISearchSubReservationResult {
51
+ reservationNumber: string;
52
+ identifier: string;
53
+ }
27
54
  /**
28
55
  * イベントストックホルダーリポジトリ
29
56
  */
@@ -31,9 +58,15 @@ export declare class StockHolderRepository {
31
58
  static KEY_PREFIX_NEW: string;
32
59
  static KEY_PREFIX: string;
33
60
  private readonly redisClient;
34
- constructor(redisClient: RedisClientType);
61
+ private readonly holdReservationModel;
62
+ constructor(redisClient: RedisClientType, connection: Connection);
35
63
  private static offer2field;
64
+ private static offer2subReservation;
36
65
  private static createKey;
66
+ /**
67
+ * 新リポジトリを使用するかどうか
68
+ */
69
+ private static useMongoose;
37
70
  /**
38
71
  * 座席をロックする(maxキャパシティチェック有)
39
72
  */
@@ -49,10 +82,6 @@ export declare class StockHolderRepository {
49
82
  /**
50
83
  * 空席でない座席を検索する
51
84
  */
52
- findUnavailableOffersByEventId(params: {
53
- eventId: string;
54
- startDate: Date;
55
- }): Promise<IOffer[]>;
56
85
  /**
57
86
  * 空席でない座席をカウントする
58
87
  */
@@ -76,4 +105,5 @@ export declare class StockHolderRepository {
76
105
  offers: IOffer[];
77
106
  }): Promise<IGetHolderResult[]>;
78
107
  private checkIfConflicted;
108
+ private initializeHoldReservation;
79
109
  }