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

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 +1726 -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 +50 -2
  129. package/lib/chevre/repo/task.js +79 -19
  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
@@ -17,6 +17,9 @@ interface IStatus {
17
17
  export interface IAggregateTask {
18
18
  statuses: IStatus[];
19
19
  }
20
+ interface IOptionOnCreate {
21
+ emitImmediately: boolean;
22
+ }
20
23
  /**
21
24
  * タスクリポジトリ
22
25
  */
@@ -24,16 +27,43 @@ export declare class MongoRepository {
24
27
  readonly taskModel: typeof Model;
25
28
  constructor(connection: Connection);
26
29
  static CREATE_MONGO_CONDITIONS(params: factory.task.ISearchConditions): any[];
27
- saveMany(taskAttributes: factory.task.IAttributes<factory.taskName>[]): Promise<{
30
+ saveMany(taskAttributes: factory.task.IAttributes<factory.taskName>[], options: IOptionOnCreate): Promise<{
28
31
  id: string;
29
32
  }[]>;
30
- createInformTaskIfNotExist(params: factory.task.IAttributes<factory.taskName.TriggerWebhook>): Promise<void>;
33
+ createInformTaskIfNotExist(params: factory.task.IAttributes<factory.taskName.TriggerWebhook>, options: IOptionOnCreate): Promise<void>;
31
34
  executeById(params: {
32
35
  id: string;
36
+ executor: {
37
+ name: string;
38
+ };
33
39
  }): Promise<factory.task.ITask<factory.taskName> | null>;
34
40
  executeOneByName<T extends factory.taskName>(params: {
35
41
  name: T;
42
+ executor: {
43
+ name: string;
44
+ };
36
45
  }): Promise<factory.task.ITask<T> | null>;
46
+ /**
47
+ * 一定期間遅延したタスクを実行する
48
+ */
49
+ executeTasks(params: {
50
+ now: Date;
51
+ /**
52
+ * 指定期間遅延しているタスクを実行する
53
+ */
54
+ delayInSeconds: number;
55
+ limit: number;
56
+ name: {
57
+ /**
58
+ * 指定タスクのみ実行する
59
+ */
60
+ $in?: factory.taskName[];
61
+ /**
62
+ * 指定タスク以外のみ実行する
63
+ */
64
+ $nin?: factory.taskName[];
65
+ };
66
+ }): Promise<Pick<import("@chevre/factory/lib/task").ITask | import("@chevre/factory/lib/task/confirmMoneyTransfer").ITask | import("@chevre/factory/lib/task/confirmRegisterService").ITask | import("@chevre/factory/lib/task/confirmPayTransaction").ITask | import("@chevre/factory/lib/task/confirmRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/confirmReserveTransaction").ITask | import("@chevre/factory/lib/task/deleteTransaction").ITask | import("@chevre/factory/lib/task/givePointAward").ITask | import("@chevre/factory/lib/task/onAuthorizationCreated").ITask | import("@chevre/factory/lib/task/onEventChanged").ITask | import("@chevre/factory/lib/task/onResourceUpdated").ITask | import("@chevre/factory/lib/task/orderProgramMembership").ITask | import("@chevre/factory/lib/task/placeOrder").ITask | import("@chevre/factory/lib/task/returnOrder").ITask | import("@chevre/factory/lib/task/returnMoneyTransfer").ITask | import("@chevre/factory/lib/task/returnPayTransaction").ITask | import("@chevre/factory/lib/task/returnPointAward").ITask | import("@chevre/factory/lib/task/returnReserveTransaction").ITask | import("@chevre/factory/lib/task/sendEmailMessage").ITask | import("@chevre/factory/lib/task/sendOrder").ITask | import("@chevre/factory/lib/task/syncScreeningRooms").ITask | import("@chevre/factory/lib/task/triggerWebhook").ITask | import("@chevre/factory/lib/task/useReservation").ITask | import("@chevre/factory/lib/task/voidMoneyTransferTransaction").ITask | import("@chevre/factory/lib/task/voidPayTransaction").ITask | import("@chevre/factory/lib/task/voidRegisterServiceTransaction").ITask | import("@chevre/factory/lib/task/voidReserveTransaction").ITask, "id" | "name" | "status">[]>;
37
67
  retry(params: {
38
68
  intervalInMinutes: number;
39
69
  }): Promise<void>;
@@ -63,9 +93,27 @@ export declare class MongoRepository {
63
93
  }): Promise<void>;
64
94
  deleteByName(params: {
65
95
  name: factory.taskName;
96
+ status?: {
97
+ $eq?: factory.taskStatus;
98
+ };
99
+ runsAt?: {
100
+ $gte: Date;
101
+ $lte: Date;
102
+ };
66
103
  }): Promise<import("mongodb").DeleteResult>;
104
+ /**
105
+ * 不要なタスクを削除する
106
+ */
107
+ deleteRunsAtPassedCertainPeriod(params: {
108
+ runsAt: {
109
+ $lt: Date;
110
+ };
111
+ }): Promise<void>;
67
112
  countDelayedTasks(params: {
68
113
  delayInSeconds: number;
114
+ name: {
115
+ $nin?: factory.taskName[];
116
+ };
69
117
  }): Promise<number>;
70
118
  aggregateTask(params: {
71
119
  project?: {
@@ -14,6 +14,7 @@ const moment = require("moment");
14
14
  const factory = require("../factory");
15
15
  const task_1 = require("./mongoose/schemas/task");
16
16
  const task_2 = require("../eventEmitter/task");
17
+ const settings_1 = require("../settings");
17
18
  /**
18
19
  * タスク実行時のソート条件
19
20
  */
@@ -150,8 +151,9 @@ class MongoRepository {
150
151
  }
151
152
  return andConditions;
152
153
  }
153
- saveMany(taskAttributes) {
154
+ saveMany(taskAttributes, options) {
154
155
  return __awaiter(this, void 0, void 0, function* () {
156
+ const emitImmediately = (options === null || options === void 0 ? void 0 : options.emitImmediately) === true;
155
157
  if (taskAttributes.length > 0) {
156
158
  const result = yield this.taskModel.insertMany(taskAttributes, { ordered: false, rawResult: true });
157
159
  if (result.insertedCount !== taskAttributes.length) {
@@ -161,12 +163,20 @@ class MongoRepository {
161
163
  .map((objectId) => {
162
164
  return { id: objectId.toHexString() };
163
165
  });
164
- savedTasks.forEach((savedTask) => {
165
- task_2.taskEventEmitter.emitTaskStatusChanged({
166
- id: savedTask.id,
167
- status: factory.taskStatus.Ready
166
+ if (emitImmediately) {
167
+ savedTasks.forEach((savedTask) => {
168
+ task_2.taskEventEmitter.emitTaskStatusChanged({
169
+ id: savedTask.id,
170
+ status: factory.taskStatus.Ready
171
+ });
168
172
  });
169
- });
173
+ // taskAttributes.forEach((savedTask) => {
174
+ // taskEventEmitter.emitTaskStatusChanged({
175
+ // name: savedTask.name,
176
+ // status: factory.taskStatus.Ready
177
+ // });
178
+ // });
179
+ }
170
180
  // return result.ops;
171
181
  return savedTasks;
172
182
  }
@@ -175,9 +185,9 @@ class MongoRepository {
175
185
  }
176
186
  });
177
187
  }
178
- createInformTaskIfNotExist(params) {
188
+ createInformTaskIfNotExist(params, options) {
179
189
  return __awaiter(this, void 0, void 0, function* () {
180
- yield this.taskModel.findOneAndUpdate({
190
+ const createdTask = yield this.taskModel.findOneAndUpdate({
181
191
  'project.id': { $eq: params.project.id },
182
192
  name: params.name,
183
193
  'data.object.id': {
@@ -185,7 +195,15 @@ class MongoRepository {
185
195
  $eq: String(params.data.object.id)
186
196
  }
187
197
  }, { $setOnInsert: params }, { new: true, upsert: true })
198
+ .select({ _id: 1 })
188
199
  .exec();
200
+ if (options.emitImmediately) {
201
+ task_2.taskEventEmitter.emitTaskStatusChanged({
202
+ id: createdTask.id,
203
+ name: params.name,
204
+ status: factory.taskStatus.Ready
205
+ });
206
+ }
189
207
  });
190
208
  }
191
209
  executeById(params) {
@@ -200,9 +218,9 @@ class MongoRepository {
200
218
  $inc: {
201
219
  remainingNumberOfTries: -1,
202
220
  numberOfTried: 1 // トライ回数増やす
203
- }
221
+ },
222
+ executor: params.executor
204
223
  }, { new: true })
205
- // .sort(sortOrder4executionOfTasks)
206
224
  .exec();
207
225
  if (doc === null) {
208
226
  // tslint:disable-next-line:no-null-keyword
@@ -223,7 +241,8 @@ class MongoRepository {
223
241
  $inc: {
224
242
  remainingNumberOfTries: -1,
225
243
  numberOfTried: 1 // トライ回数増やす
226
- }
244
+ },
245
+ executor: params.executor
227
246
  }, { new: true })
228
247
  .sort(sortOrder4executionOfTasks)
229
248
  .exec();
@@ -234,6 +253,35 @@ class MongoRepository {
234
253
  return doc.toObject();
235
254
  });
236
255
  }
256
+ /**
257
+ * 一定期間遅延したタスクを実行する
258
+ */
259
+ executeTasks(params) {
260
+ return __awaiter(this, void 0, void 0, function* () {
261
+ const runsAtLt = moment(params.now)
262
+ .add(-params.delayInSeconds, 'seconds')
263
+ .toDate();
264
+ const delayedTasks = yield this.taskModel.find(Object.assign(Object.assign({ status: { $eq: factory.taskStatus.Ready }, runsAt: { $lt: runsAtLt } }, (Array.isArray(params.name.$in)) ? { name: { $in: params.name.$in } } : undefined), (Array.isArray(params.name.$nin)) ? { name: { $nin: params.name.$nin } } : undefined))
265
+ .select({
266
+ _id: 1,
267
+ name: 1,
268
+ status: 1
269
+ })
270
+ .limit(params.limit)
271
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
272
+ .exec();
273
+ if (delayedTasks.length > 0) {
274
+ delayedTasks.forEach((delayedTask) => {
275
+ task_2.taskEventEmitter.emitTaskStatusChanged({
276
+ id: delayedTask.id,
277
+ name: delayedTask.name,
278
+ status: delayedTask.status
279
+ });
280
+ });
281
+ }
282
+ return delayedTasks;
283
+ });
284
+ }
237
285
  retry(params) {
238
286
  return __awaiter(this, void 0, void 0, function* () {
239
287
  const lastTriedAtShoudBeLessThan = moment()
@@ -328,7 +376,7 @@ class MongoRepository {
328
376
  return __awaiter(this, void 0, void 0, function* () {
329
377
  const conditions = MongoRepository.CREATE_MONGO_CONDITIONS(params);
330
378
  return this.taskModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
331
- .setOptions({ maxTimeMS: 10000 })
379
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
332
380
  .exec();
333
381
  });
334
382
  }
@@ -350,7 +398,7 @@ class MongoRepository {
350
398
  if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.runsAt) !== undefined) {
351
399
  query.sort({ runsAt: params.sort.runsAt });
352
400
  }
353
- return query.setOptions({ maxTimeMS: 10000 })
401
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
354
402
  .exec()
355
403
  .then((docs) => docs.map((doc) => doc.toObject()));
356
404
  });
@@ -364,9 +412,24 @@ class MongoRepository {
364
412
  });
365
413
  }
366
414
  deleteByName(params) {
415
+ var _a, _b;
416
+ return __awaiter(this, void 0, void 0, function* () {
417
+ return this.taskModel.deleteMany(Object.assign(Object.assign({ name: { $eq: params.name } }, (typeof ((_a = params.status) === null || _a === void 0 ? void 0 : _a.$eq) === 'string') ? { status: { $eq: params.status.$eq } } : undefined), (((_b = params.runsAt) === null || _b === void 0 ? void 0 : _b.$gte) instanceof Date)
418
+ ? {
419
+ runsAt: { $gte: params.runsAt.$gte, $lte: params.runsAt.$lte }
420
+ }
421
+ : undefined))
422
+ .exec();
423
+ });
424
+ }
425
+ /**
426
+ * 不要なタスクを削除する
427
+ */
428
+ deleteRunsAtPassedCertainPeriod(params) {
367
429
  return __awaiter(this, void 0, void 0, function* () {
368
- return this.taskModel.deleteMany({
369
- name: { $eq: params.name }
430
+ yield this.taskModel.deleteMany({
431
+ runsAt: { $lt: params.runsAt.$lt },
432
+ status: { $in: [factory.taskStatus.Aborted, factory.taskStatus.Executed] }
370
433
  })
371
434
  .exec();
372
435
  });
@@ -376,10 +439,7 @@ class MongoRepository {
376
439
  const runsAtLt = moment()
377
440
  .add(-params.delayInSeconds, 'seconds')
378
441
  .toDate();
379
- return this.taskModel.count({
380
- status: factory.taskStatus.Ready,
381
- runsAt: { $lt: runsAtLt }
382
- })
442
+ return this.taskModel.count(Object.assign({ status: factory.taskStatus.Ready, runsAt: { $lt: runsAtLt } }, (Array.isArray(params.name.$nin)) ? { name: { $nin: params.name.$nin } } : undefined))
383
443
  .exec();
384
444
  });
385
445
  }
@@ -40,6 +40,8 @@ export declare class MongoRepository {
40
40
  findById<T extends factory.transactionType>(params: {
41
41
  typeOf: T;
42
42
  id: string;
43
+ inclusion?: string[];
44
+ exclusion?: string[];
43
45
  }): Promise<factory.transaction.ITransaction<T>>;
44
46
  /**
45
47
  * 進行中の取引を取得する
@@ -112,6 +114,11 @@ export declare class MongoRepository {
112
114
  };
113
115
  status: factory.transactionStatusType;
114
116
  id?: string;
117
+ tasksExportAction: {
118
+ agent: {
119
+ name: string;
120
+ };
121
+ };
115
122
  }): Promise<Pick<factory.transaction.ITransaction<T>, 'id' | 'typeOf'> | null>;
116
123
  /**
117
124
  * タスクエクスポートリトライ
@@ -120,6 +127,16 @@ export declare class MongoRepository {
120
127
  reexportTasks(params: {
121
128
  intervalInMinutes: number;
122
129
  }): Promise<void>;
130
+ /**
131
+ * タスクエクスポートの遅延している取引について明示的にemitTransactionStatusChangedを実行する
132
+ */
133
+ exportTasks(params: {
134
+ now: Date;
135
+ delayInSeconds: number;
136
+ status: {
137
+ $in: factory.transactionStatusType[];
138
+ };
139
+ }): Promise<Pick<import("@chevre/factory/lib/transaction/moneyTransfer").ITransaction | import("@chevre/factory/lib/transaction/placeOrder").ITransaction | import("@chevre/factory/lib/transaction/returnOrder").ITransaction, "id" | "typeOf" | "status">[]>;
123
140
  /**
124
141
  * set task status exported by transaction id
125
142
  * IDでタスクをエクスポート済に変更する
@@ -131,7 +148,9 @@ export declare class MongoRepository {
131
148
  * 取引を期限切れにする
132
149
  */
133
150
  makeExpired(params: {
134
- expires: Date;
151
+ expires: {
152
+ $lt: Date;
153
+ };
135
154
  }): Promise<void>;
136
155
  /**
137
156
  * 取引を中止する
@@ -151,7 +170,7 @@ export declare class MongoRepository {
151
170
  /**
152
171
  * 特定の取引を更新する(汎用)
153
172
  */
154
- findByIdAndUpdate(params: {
173
+ findByIdAndUpdateInProgress(params: {
155
174
  id: string;
156
175
  update: {
157
176
  $set?: any;