@chevre/domain 21.2.0-alpha.14 → 21.2.0-alpha.141

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 (302) 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/importEventsFromCOA.ts +3 -4
  6. package/example/src/chevre/lockStockHolder.ts +5 -2
  7. package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
  8. package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
  9. package/example/src/chevre/processPay.ts +5 -1
  10. package/example/src/chevre/processRegisterMembership.ts +8 -4
  11. package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
  12. package/example/src/chevre/processReserve.ts +5 -2
  13. package/example/src/chevre/saveTasks.ts +13 -10
  14. package/example/src/chevre/searchAbortedTasks.ts +34 -0
  15. package/example/src/chevre/searchActions.ts +33 -0
  16. package/example/src/chevre/searchEventSeats.ts +5 -2
  17. package/example/src/chevre/searchHoldReservations.ts +38 -0
  18. package/example/src/chevre/searchPaymentServiceProviders.ts +38 -0
  19. package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
  20. package/example/src/chevre/searchScreeningRooms.ts +23 -0
  21. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  22. package/example/src/chevre/syncScreeningRooms.ts +21 -0
  23. package/example/src/chevre/syncScreeningRoomsAll.ts +41 -0
  24. package/example/src/chevre/task/executeTasks.ts +26 -0
  25. package/example/src/chevre/transaction/findCreditCard.ts +1 -1
  26. package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
  27. package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
  28. package/example/src/chevre/transaction/startExportTasks.ts +2 -1
  29. package/example/src/chevre/updateTransaction.ts +1 -1
  30. package/example/src/playOnMoment.ts +24 -0
  31. package/lib/chevre/credentials.d.ts +1 -0
  32. package/lib/chevre/credentials.js +2 -1
  33. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  34. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  35. package/lib/chevre/eventEmitter/task.d.ts +2 -1
  36. package/lib/chevre/eventEmitter/task.js +1 -4
  37. package/lib/chevre/eventEmitter/transaction.d.ts +1 -1
  38. package/lib/chevre/eventEmitter/transaction.js +1 -4
  39. package/lib/chevre/eventEmitter.d.ts +2 -1
  40. package/lib/chevre/eventEmitter.js +3 -1
  41. package/lib/chevre/index.d.ts +1 -1
  42. package/lib/chevre/index.js +2 -2
  43. package/lib/chevre/repo/account.js +3 -2
  44. package/lib/chevre/repo/accountTransaction.d.ts +3 -1
  45. package/lib/chevre/repo/accountTransaction.js +3 -2
  46. package/lib/chevre/repo/action.d.ts +42 -2
  47. package/lib/chevre/repo/action.js +130 -57
  48. package/lib/chevre/repo/additionalProperty.js +2 -1
  49. package/lib/chevre/repo/aggregation.d.ts +3 -0
  50. package/lib/chevre/repo/aggregation.js +3 -0
  51. package/lib/chevre/repo/assetTransaction.d.ts +23 -8
  52. package/lib/chevre/repo/assetTransaction.js +253 -80
  53. package/lib/chevre/repo/categoryCode.d.ts +1 -1
  54. package/lib/chevre/repo/categoryCode.js +37 -25
  55. package/lib/chevre/repo/code.js +3 -2
  56. package/lib/chevre/repo/comment.d.ts +4 -1
  57. package/lib/chevre/repo/comment.js +22 -6
  58. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  59. package/lib/chevre/repo/confirmationNumber.js +3 -15
  60. package/lib/chevre/repo/creativeWork.d.ts +2 -4
  61. package/lib/chevre/repo/creativeWork.js +35 -12
  62. package/lib/chevre/repo/customer.js +2 -1
  63. package/lib/chevre/repo/emailMessage.d.ts +1 -27
  64. package/lib/chevre/repo/emailMessage.js +2 -1
  65. package/lib/chevre/repo/event.d.ts +27 -1
  66. package/lib/chevre/repo/event.js +67 -33
  67. package/lib/chevre/repo/member.js +4 -3
  68. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
  69. package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
  70. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -2
  71. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +29 -3
  72. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +31 -3
  73. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  74. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +13 -3
  75. package/lib/chevre/repo/mongoose/schemas/action.d.ts +43 -3
  76. package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
  77. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +17 -3
  78. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -2
  79. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +44 -3
  80. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
  81. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +19 -3
  82. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  83. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +25 -3
  84. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +27 -3
  85. package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
  86. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +43 -3
  87. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +25 -3
  88. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +21 -3
  89. package/lib/chevre/repo/mongoose/schemas/event.d.ts +71 -3
  90. package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
  91. package/lib/chevre/repo/mongoose/schemas/holdReservation.js +93 -0
  92. package/lib/chevre/repo/mongoose/schemas/member.d.ts +13 -3
  93. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +21 -3
  94. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +65 -3
  95. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +27 -3
  96. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  97. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  98. package/lib/chevre/repo/mongoose/schemas/order.d.ts +51 -3
  99. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  100. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +25 -3
  101. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
  102. package/lib/chevre/repo/mongoose/schemas/place.d.ts +55 -3
  103. package/lib/chevre/repo/mongoose/schemas/place.js +16 -1
  104. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +29 -3
  105. package/lib/chevre/repo/mongoose/schemas/product.d.ts +31 -3
  106. package/lib/chevre/repo/mongoose/schemas/product.js +6 -0
  107. package/lib/chevre/repo/mongoose/schemas/project.d.ts +23 -3
  108. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -5
  109. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  110. package/lib/chevre/repo/mongoose/schemas/role.d.ts +11 -3
  111. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +31 -3
  112. package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
  113. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +11 -3
  114. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
  115. package/lib/chevre/repo/mongoose/schemas/task.d.ts +30 -3
  116. package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
  117. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +21 -3
  118. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +40 -3
  119. package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
  120. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +11 -3
  121. package/lib/chevre/repo/offer.js +3 -2
  122. package/lib/chevre/repo/offerCatalog.js +0 -27
  123. package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
  124. package/lib/chevre/repo/offerItemCondition.js +121 -0
  125. package/lib/chevre/repo/order.d.ts +55 -3
  126. package/lib/chevre/repo/order.js +62 -10
  127. package/lib/chevre/repo/ownershipInfo.js +2 -7
  128. package/lib/chevre/repo/place.d.ts +97 -24
  129. package/lib/chevre/repo/place.js +266 -76
  130. package/lib/chevre/repo/priceSpecification.js +3 -2
  131. package/lib/chevre/repo/product.d.ts +18 -3
  132. package/lib/chevre/repo/product.js +139 -5
  133. package/lib/chevre/repo/project.js +2 -1
  134. package/lib/chevre/repo/reservation.d.ts +20 -4
  135. package/lib/chevre/repo/reservation.js +40 -59
  136. package/lib/chevre/repo/role.js +3 -2
  137. package/lib/chevre/repo/seller.d.ts +1 -1
  138. package/lib/chevre/repo/seller.js +44 -23
  139. package/lib/chevre/repo/serviceOutput.js +2 -1
  140. package/lib/chevre/repo/stockHolder.d.ts +143 -7
  141. package/lib/chevre/repo/stockHolder.js +622 -104
  142. package/lib/chevre/repo/task.d.ts +42 -2
  143. package/lib/chevre/repo/task.js +68 -20
  144. package/lib/chevre/repo/transaction.d.ts +21 -2
  145. package/lib/chevre/repo/transaction.js +160 -48
  146. package/lib/chevre/repo/trip.js +2 -1
  147. package/lib/chevre/repository.d.ts +5 -2
  148. package/lib/chevre/repository.js +8 -4
  149. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +6 -2
  150. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +19 -8
  151. package/lib/chevre/service/aggregation/system.d.ts +110 -23
  152. package/lib/chevre/service/aggregation/system.js +213 -91
  153. package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
  154. package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -24
  155. package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
  156. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  157. package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
  158. package/lib/chevre/service/assetTransaction/pay.js +20 -34
  159. package/lib/chevre/service/assetTransaction/refund.js +2 -24
  160. package/lib/chevre/service/assetTransaction/registerService.js +1 -25
  161. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
  162. package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
  163. package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
  164. package/lib/chevre/service/assetTransaction/reserve.js +92 -69
  165. package/lib/chevre/service/assetTransaction.d.ts +6 -0
  166. package/lib/chevre/service/assetTransaction.js +9 -4
  167. package/lib/chevre/service/event.d.ts +3 -0
  168. package/lib/chevre/service/event.js +54 -22
  169. package/lib/chevre/service/notification/factory.js +2 -2
  170. package/lib/chevre/service/notification.d.ts +3 -1
  171. package/lib/chevre/service/notification.js +41 -7
  172. package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
  173. package/lib/chevre/service/offer/event/authorize.js +8 -2
  174. package/lib/chevre/service/offer/event/factory.d.ts +3 -0
  175. package/lib/chevre/service/offer/event/factory.js +16 -5
  176. package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
  177. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  178. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  179. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
  180. package/lib/chevre/service/offer/product.js +2 -2
  181. package/lib/chevre/service/offer.d.ts +16 -8
  182. package/lib/chevre/service/offer.js +71 -8
  183. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  184. package/lib/chevre/service/order/deleteOrder.js +8 -8
  185. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +5 -2
  186. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
  187. package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
  188. package/lib/chevre/service/order/onOrderUpdated.d.ts +16 -0
  189. package/lib/chevre/service/order/onOrderUpdated.js +22 -0
  190. package/lib/chevre/service/order/placeOrder.d.ts +1 -0
  191. package/lib/chevre/service/order/placeOrder.js +41 -24
  192. package/lib/chevre/service/order/returnOrder.d.ts +1 -0
  193. package/lib/chevre/service/order/returnOrder.js +7 -12
  194. package/lib/chevre/service/order/sendOrder.d.ts +1 -0
  195. package/lib/chevre/service/order/sendOrder.js +7 -10
  196. package/lib/chevre/service/order.d.ts +2 -1
  197. package/lib/chevre/service/order.js +3 -1
  198. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  199. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  200. package/lib/chevre/service/payment/any.d.ts +9 -5
  201. package/lib/chevre/service/payment/any.js +80 -18
  202. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  203. package/lib/chevre/service/payment/creditCard.js +23 -17
  204. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
  205. package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
  206. package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
  207. package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
  208. package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
  209. package/lib/chevre/service/payment/movieTicket/validation.js +65 -37
  210. package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
  211. package/lib/chevre/service/payment/movieTicket.js +7 -6
  212. package/lib/chevre/service/product.js +1 -5
  213. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  214. package/lib/chevre/service/report/telemetry.js +21 -24
  215. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
  216. package/lib/chevre/service/reserve/cancelReservation.js +162 -142
  217. package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
  218. package/lib/chevre/service/reserve/checkInReservation.js +77 -3
  219. package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
  220. package/lib/chevre/service/reserve/confirmReservation.js +133 -58
  221. package/lib/chevre/service/reserve/factory.d.ts +1 -1
  222. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
  223. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
  224. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  225. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  226. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  227. package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
  228. package/lib/chevre/service/reserve/useReservation.js +61 -71
  229. package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
  230. package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
  231. package/lib/chevre/service/reserve.d.ts +3 -2
  232. package/lib/chevre/service/reserve.js +4 -2
  233. package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
  234. package/lib/chevre/service/task/cancelPendingReservation.js +6 -2
  235. package/lib/chevre/service/task/cancelReservation.js +1 -1
  236. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  237. package/lib/chevre/service/task/deleteTransaction.js +10 -8
  238. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  239. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
  240. package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
  241. package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
  242. package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
  243. package/lib/chevre/service/task/onResourceUpdated.d.ts +10 -0
  244. package/lib/chevre/service/task/onResourceUpdated.js +423 -0
  245. package/lib/chevre/service/task/placeOrder.js +1 -1
  246. package/lib/chevre/service/task/reserve.js +10 -7
  247. package/lib/chevre/service/task/returnOrder.js +1 -1
  248. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  249. package/lib/chevre/service/task/sendOrder.js +1 -1
  250. package/lib/chevre/service/task/syncScreeningRooms.d.ts +7 -0
  251. package/lib/chevre/service/task/syncScreeningRooms.js +23 -0
  252. package/lib/chevre/service/task/useReservation.d.ts +7 -0
  253. package/lib/chevre/service/task/useReservation.js +36 -0
  254. package/lib/chevre/service/task/voidReserveTransaction.js +4 -2
  255. package/lib/chevre/service/task.d.ts +6 -0
  256. package/lib/chevre/service/task.js +22 -4
  257. package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
  258. package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
  259. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
  260. package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +1 -1
  261. package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
  262. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
  263. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
  264. package/lib/chevre/service/transaction/moneyTransfer.js +10 -13
  265. package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
  266. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
  267. package/lib/chevre/service/transaction/orderProgramMembership.js +7 -3
  268. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
  269. package/lib/chevre/service/transaction/placeOrder.js +1 -5
  270. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
  271. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
  272. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  273. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  274. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  275. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  276. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  277. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
  278. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  279. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  280. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  281. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  282. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  283. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  284. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
  285. package/lib/chevre/service/transaction/placeOrderInProgress.js +28 -15
  286. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
  287. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
  288. package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
  289. package/lib/chevre/service/transaction/returnOrder.js +228 -36
  290. package/lib/chevre/service/transaction.d.ts +7 -13
  291. package/lib/chevre/service/transaction.js +12 -139
  292. package/lib/chevre/settings.d.ts +13 -2
  293. package/lib/chevre/settings.js +56 -7
  294. package/package.json +5 -5
  295. package/example/src/chevre/createManyEventsIfNotExist.ts +0 -205
  296. package/example/src/chevre/eventCatalog2eventService.ts +0 -123
  297. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  298. package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
  299. package/example/src/chevre/migrateStockHolderKeys.ts +0 -89
  300. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  301. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  302. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
@@ -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
  }